Hybrid Mobile应用程序通常被科技行业的开发人员认为不如Native应用程序吗?

nuw*_*jay 7 android ios cordova hybrid-mobile-app phonegap

对于大学项目,我的小组计划为Android制作云消息应用程序.最初,我们通过研究和使用Ionic Framework和Phonegap来开始开发,以创建一个混合应用程序.

根据我们迄今为止所阅读和学到的内容,我们所理解的是,混合应用程序开发允许我们使用Web技术(HTML,CSS Javascript)进行编码,我们非常熟悉它,而不是构建Native应用程序.它还具有在多个平台上运行的优点,只需很小的调整.

但是当我们向前迈进时,我们得到了许多同事和现场人员的一些奇怪反馈,这些反馈都指向了一件事; 对混合应用程序的普遍不信任和怀疑.

最终我们决定去寻找原生应用,因为这个反馈和其他原因,但它总是困扰我们为什么人们有这种感觉.

Tyl*_*ler 3

是的,普遍的观点是混合应用程序不如本机应用程序。虽然这对于更熟悉 Web 技术的开发人员来说可能会令人沮丧,但它确实有充分的理由:

  1. 无法与本机组件交互:尽管存在诸如此类的插件cordova-plugin-statusbar,但使用 Web 技术与本机组件交互和操作本机组件存在限制。我个人遇到的一个重大(且令人沮丧)的问题是,当键盘动画输入时,无法在键盘顶部进行输入。这听起来像是一个不问题,直到您看到一个应用程序,其中这是一个基本功能,例如在 Slack 等聊天应用程序中。
  2. 300 毫秒延迟:尽管现代浏览器开始逐步淘汰这种延迟,但混合应用程序上出现的一小部分延迟使该应用程序感觉缓慢且非原生。随着越来越多的用户采用FastClick.js等解决方法,以及Ionic等一些框架默认消除了该问题,这个问题正变得不那么重要。
  3. 讨厌者是对的(某种程度上):虽然混合应用程序开发已经取得了长足的进步,但仍然存在原生应用程序中不存在的小故障和滞后功能。屏幕转换、应用程序切换和电池寿命仍然是错误出现的常见领域,并且可能会持续一段时间,即使它们开始变得越来越不引人注目。
  4. 有一些很棒的本机解决方案:使用 Apple 的Swift等较新的语言,用本机语言编码变得越来越容易。话虽如此,React Native之类的工具陷入了 Native 和 Hybrid 之间的灰色地带,因为它允许开发人员使用 JavaScript 等友好技术进行编码,但编译为本机代码。

这个故事的寓意是,这实际上取决于对您的特定用例来说重要的是什么。混合应用程序已成为一种可行的选择,不再是令人尴尬的副业。相反,与 Native UX 交互的一些小方面仍然是不可能的,除非使用 Native 应用程序。

总的来说,我建议规划您的项目并确定您的应用程序是否需要本机应用程序的任何优势。使用Ionic View应用程序等工具,可以轻松地将应用程序的基本模型组合在一起,并在真实设备上测试混合应用程序是否适合您。

  • 很好的答案!回复 1:一切都有一个插件。如果没有就去做吧。例如,我为 Slack 输入栏创建了这个:https://github.com/EddyVerbruggen/cordova-plugin-native-keyboard(它实际上使用了 SlackVC 库!) (2认同)