根据我们迄今为止所阅读和学到的内容,我们所理解的是,混合应用程序开发允许我们使用Web技术(HTML,CSS Javascript)进行编码,我们非常熟悉它,而不是构建Native应用程序.它还具有在多个平台上运行的优点,只需很小的调整.
但是当我们向前迈进时,我们得到了许多同事和现场人员的一些奇怪反馈,这些反馈都指向了一件事;
对混合应用程序的普遍不信任和怀疑.
最终我们决定去寻找原生应用程序,因为这些反馈和其他原因,但它总是困扰我们为什么人们有这种感觉.
解决方法
>无法与本机组件交互:虽然存在诸如cordova-plugin-statusbar之类的插件,但是使用Web技术与本机组件交互和操作存在限制.我个人遇到的一个很棒的(令人沮丧的)问题是当键盘动画时无法在键盘的顶部输入一个输入.这听起来像是一个非问题,直到你看到一个应用程序,这是一个必不可少的功能,如在像Slack这样的聊天应用中.
> 300ms延迟:尽管现代浏览器开始使用phase this out,但Hybrid应用程序上出现的第二个延迟时间会使应用程序感觉缓慢且非原生.随着越来越多的用户采用诸如FastClick.js之类的解决方法,并且某些框架(如Ionic)默认消除它,这个问题变得越来越少.
>仇恨者是对的(有点):虽然混合应用程序开发已经走过了漫长的道路,但仍然存在一些小故障和滞后功能,这些功能在Native应用程序中并不存在.屏幕转换,应用程序切换和电池寿命仍然是出现错误的常见区域,并且可能会持续一段时间,即使它们开始变得越来越不明显.
>有一些很棒的原生解决方案:使用Apple的Swift这样的新语言,用母语编写代码变得更加容易.话虽如此,React Native之类的工具属于Native和Hybrid之间的灰色区域,允许开发人员使用JavaScript等友好技术进行编码,但编译成本机代码.
故事的寓意是,它确实取决于对您的特定用例重要的内容.混合应用已经成为一种可行的选择,不再是一个令人尴尬的侧面秀.相反,除了使用Native应用程序之外,还有一些与Native UX交互的次要方面是不可能的.
总的来说,我建议您制定项目并确定您的应用是否需要Native应用程序的任何好处.借助Ionic View应用程序等工具,您可以轻松地将应用程序的基本模型组合在一起,并在真实设备上进行测试,无论混合应用程序是否适合您.