技术行业的开发人员是否认为混合移动应用程序通常被认为比Native应用程序差?

对于一个大学项目,我的团队正在计划为Android创build一个云消息传递应用程序。 最初我们通过学习和使用Ionic Framework和Phonegap来开发开发一个混合应用程序。

根据我们迄今为止已经阅读和了解的内容,我们了解的是,混合应用程序开发允许我们使用我们比较熟悉的Web技术(HTML,CSS Javascript)编写代码,这比构build本机应用程序的时间less得多。 它还具有在多个平台上运行的优点,只需稍微调整即可。

但是,随着我们的前进,我们得到了许多同事和领域的人们的一些奇怪的反馈,这些反馈都指出了一件事情。 对Hybrid应用程序普遍存在不信任和怀疑。

最终,我们决定因为这个反馈而select了一个Native应用程序,但是它总是困扰着我们为什么人们会这样认为。

是的,一般情况是混合应用程序不如原生应用程序。 虽然这对于更熟悉networking技术的开发人员可能会感到沮丧,但确实有很好的理由:

  1. 无法与本地组件进行交互 :尽pipe存在诸如cordova-plugin-statusbar ,但使用Web技术与本地组件进行交互并操作本地组件时存在限制。 我个人遇到的一个很大(也是令人沮丧的)问题是无法在键盘的顶部input键盘input。这听起来像是一个不解之词,直到你看到一个应用程序,这是一个重要的function,如在一个像Slack聊天应用程序。
  2. 300ms的延迟 :尽pipe现代浏览器已经开始逐步淘汰 ,但Hybrid应用程序中的第二个延迟部分会使应用程序感觉速度变慢,而非原生。 随着越来越多的用户采用FastClick.js等解决方法, Ionic等一些框架在默认情况下将其消除,这个问题正变得越来越不重要。
  3. 这些仇恨是正确的(有点) :虽然混合应用程序的发展已经走了很长的路,但仍然有一些小问题和laggyfunction,只是没有出现在本机的应用程序。 屏幕转换,应用程序切换和电池寿命仍然是缺陷出现的常见区域,可能会持续一段时间,即使它们开始变得越来越不明显。
  4. 有一些很好的本机解决scheme :使用像Swift这样的新语言,用母语进行编码就变得更容易了。 也就是说,像React Native这样的工具,通过允许开发人员使用友好的技术(如JavaScript)进行编码,而将其编译为本机代码,这些工具就陷入了Native和Hybrid之间的灰色地带。

这个故事的寓意是它确实取决于你的具体用例的重要性。 混合应用程序已经成为一个可行的select,不再是一个尴尬的副秀。 反过来说,除了Native应用程序,还有一些与Native UX交互的方面还不可能。

总的来说,我build议将您的项目映射出来,并确定您的应用程序是否需要本机应用程序的任何好处。 借助Ionic View应用程序等工具,您可以轻松地将您的应用程序的基本样机和实际设备上的testing结合起来,无论Hybrid应用程序是否适用于您。