android - 技术行业的开发人员是否普遍认为混合移动应用程序不如原生应用程序?

标签 android ios cordova hybrid-mobile-app phonegap

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

根据我们到目前为止所阅读和了解的内容,我们所了解的是混合应用程序开发允许我们使用我们非常熟悉的网络技术(HTML、CSS Javascript)进行编码,这比构建 native 应用程序所花费的时间要少得多。它还具有通过非常小的调整即可在多个平台上运行的优点。

但是随着我们的前进,我们从许多同事和该领域的人那里得到了一些奇怪的反馈,这些反馈都指向一件事; 对混合应用的普遍不信任和怀疑。

最终,由于这种反馈以及其他原因,我们决定使用原生应用程序,但我们始终困扰着为什么人们会有这种感觉。

最佳答案

是的,普遍认为混合应用不如原生应用。虽然这可能会让更熟悉网络技术的开发人员感到沮丧,但它确实有充分的理由:

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

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

总的来说,我建议规划您的项目并确定您的应用是否需要原生应用的任何优势。使用 Ionic View 等工具app 很容易将您的应用程序的基本模型放在一起,并在真实设备上测试混合应用程序是否适合您。

关于android - 技术行业的开发人员是否普遍认为混合移动应用程序不如原生应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43551246/

相关文章:

android - 加密 SharedPreferences 中的数据

java - 如何同步不同类中的两个线程

ios - 哪个浏览器有这个奇怪的用户代理? (IOS设备)

android - 键盘隐藏输入(位置:fixed; bottom:0;) with phonegap on android

java - TableRow 未显示在 TableLayout 中

android - 为什么android webview比原生android浏览器慢很多?

iOS 7 Popover Controller 在 xcode 6 下崩溃

ios - 拦截所有 objective c 方法调用

javascript - 没有为 Android 中的 PhoneGap 定义的 JS FormData 对象

node.js - 无法创建cordova项目,代理问题?