我可以稍微改变一下你的问题吗?正确的应该是哪个移动应用程序框架最糟糕。
不要误会我的意思,我不是仇恨者。在这一点上,我是这里贡献最大的 jQuery Mobile 支持者,有超过 1300 个答案:https://stackoverflow.com/tags/jquery-mobile/topusers。另外,我还是官方 Ionic 框架论坛的论坛版主:https://forum.ionicframework.com/users/gajotres/activity。所以我对这个话题非常精通。
首先,没有最好的移动应用程序框架。您需要的是一个尽可能接近原生移动应用程序的移动框架(我说的是性能和外观)。另外,您想使用您最熟悉的 JavaScript 框架。
框架
Sencha (ExtJS) 已成为过去。在某一时刻,它是最好的可用框架。不幸的是,今天它只是又胖又慢。
jQuery Mobile (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 更好的桌面浏览器支持。
OnsenUI 2(平台无关)是 OnsenUI 的下一个主要迭代。甚至更好的表现。平台无关,因此您可以将它与您喜欢的任何 JavaScript 框架一起使用。仍处于测试阶段。
Titanium/Xamarin - 使用 JavaScript 或 C# 代码创建完全原生的移动应用程序。一方面,您将收到一个真正的原生应用程序。不幸的是,这些应用程序通常容易出现内存泄漏,而且与 HTML5 和 CSS 混合移动框架相比,您无法将它们设置在同一级别。
Native Script/React Native - 这些框架是另一种特殊情况。我将它们称为真正的混合移动框架,主要是因为它们的最终结果是具有 JavaScript 背景的本机应用程序。它们提供了两全其美,但也需要大量时间来掌握。此外,它们通常比真正的原生应用程序慢 10-20%,主要是因为 Javascript 原生代码抽象。
结论
我的建议。如果你准备好使用 AngularJS,如果你愿意等待发布候选版本,请使用 Ionic 或 Ionic 2。另一方面,如果您更喜欢 jQuery 而不是 AngularJS,那么请使用 OnsenUI 或 OnsenUI 2。