我可以稍微改变一下你的问题吗?正确的应该是哪个移动应用程序框架最糟糕。
别误会我的意思,我不是一个仇恨者。此时,我是这里贡献最大的 jQuery Mobile 支持者,提供了 1300 多个答案:https://stackoverflow.com/tags/jquery-mobile/topusers https://stackoverflow.com/tags/jquery-mobile/topusers。另外,我还是官方 Ionic 框架论坛的版主:https://forum.ionicframework.com/users/gajotres/activity https://forum.ionicframework.com/users/gajotres/activity。所以我对这个话题非常熟悉。
首先,不存在最好的移动应用程序框架。您需要的是一个尽可能接近本机移动应用程序的移动框架(我指的是性能和外观)。另外,您希望使用您最有经验的 JavaScript 框架。
构架
Sencha(ExtJS) 已经成为过去。它曾经一度是最好的可用框架。不幸的是,今天它又胖又慢。
jQuery 移动(jQuery) 是一个活死人。它从来都不是一个伟大的框架,但很多人使用它,因为它在 jQuery 之上工作。最后一个主要版本是 3 年前创建的 (1.4)。下一个应该很快就会发布,但它已经过时了。让我们从这个角度来看待这个问题。 Ionic 在 jQuery Mobile 1.4 之后发布,开发人员已经在开发 Ionic 2。
Ionic(AngularJS)是目前最常用的混合移动框架。这是最好的吗?离得很远。它不是很快(尽管它比当前可用的竞争对手要快)。页面转换/动画很糟糕,你实际上需要使用某些 Cordova 插件才能让它们看起来不错。这还不是全部,但我不会再打扰你了。
Ionic 2(AngularJS 2)是另一个故事。这个 alpha 产品在这一点上甚至比生产就绪的 Ionic 还要好。尽管页面转换仍然不像原生的,但我的大部分担忧都消失了。
OnsenUI(AngularJS/jQuery) 据我所知是唯一像样的 Ionic 竞争对手。它总是比 Ionic 领先一步。更好的性能,没有 AngularJS 路由,更容易使用。不幸的是,它的用户群较小。最后但并非最不重要的一点是,它提供了比 Ionic 更好的桌面浏览器支持。
温泉UI 2(与平台无关)是 OnsenUI 的下一个主要迭代。甚至更好的性能。与平台无关,因此您可以将其与您喜欢的任何 JavaScript 框架一起使用。仍处于测试阶段。
钛/Xamarin- 使用 JavaScript 或 C# 代码创建完全本机的移动应用程序。一方面,您将收到一个真正的本机应用程序。不幸的是,这些应用程序通常容易出现内存泄漏,而且与 HTML5 和 CSS 混合移动框架相比,您无法在同一级别上设置它们的样式。
Nativescript/React Native- 这些框架是另一个特殊情况。我将它们称为真正的混合移动框架,主要是因为它们的最终结果是具有 JavaScript 背景的本机应用程序。它们提供了两全其美的优点,但也需要大量时间来掌握。另外,它们通常比真正的本机应用程序慢 10-20%,主要是因为 Javascript 本机代码抽象。
结论
我的建议。如果您决定使用 AngularJS,并且愿意等待发布候选版本,请选择 Ionic 或 Ionic 2。另一方面,如果您更喜欢 jQuery 而不是 AngularJS,那么请选择 OnsenUI 或 OnsenUI 2。