PhoneGap和Cordova之后的移动应用程序开发

Todd Anglin是Progress的产品策略和开发人员关系副总裁。

近十年来,PhoneGap为Web开发人员提供了一种低摩擦的途径,使其可以创建可访问本机设备功能的移动应用程序。 通过PhoneGap,许多开发人员可以使用他们已经了解和喜爱的技能和JavaScript库为iOS和Android(甚至一次是Windows Phone和BlackBerry)创建应用程序。 Web技能与本机设备访问(通常称为“混合”)的结合已牢固地扎根,成为移动应用程序开发的主要方法之一。

现在,随着不断发展的PhoneGap(以及相关的Apache Cordova开源项目)的工作进展缓慢,混合移动开发的下一步是什么?

[构建移动应用程序的方法不止一种。 查看25个用于快速构建移动应用程序的简单工具 | 通过InfoWorld的App Dev Report新闻通讯了解编程中最热门的话题。 ]

显然,作为一个开源项目,Apache Cordova不会很快消失。 许多公司在Cordova进行了大量投资,随着公司提交者的潮起潮落,Cordova社区继续填补空白。

但是PhoneGap是一个创建的项目,其明确意图是最终变得过时,而这一刻可能就要到了。

在过去的十年中,出现了两个可以说可以替代PhoneGap和“ Hybrid 1.0”的优越选择。 这些是渐进式Web应用程序和JavaScript驱动的本机应用程序。

渐进式Web应用

PhoneGap始终旨在帮助Web开发人员在达到移动Web浏览器极限时在移动设备上做更多的事情。 PhoneGap重用了Web上的所有内容(HTML,CSS,JavaScript),并依靠用本机代码(Objective-C,Swift,Java)编写的插件通过JavaScript访问特定的本机设备功能。 随着时间的流逝,事实证明这既是福也是祸。 学习曲线很低,但是PhoneGap应用程序中的嵌入式Web浏览器经常会在性能方面苦苦挣扎(这要归功于Apple,而且很长一段时间以来,默认的Android Web视图也没有得到感谢)。 尽管如此,PhoneGap仍然是一个可行的解决方案,它为许多人带来了“足够好”的结果。

同时,网络标准也在不断发展,并且在过去的三到四年中,为创建性能更高,可离线使用的移动应用程序而必须改进的网络标准的推动力被称为“ 渐进式网络应用程序”

借助先进的Web应用程序,Web平台又向前迈出了一大步。 现在,Web应用程序可以完全控制网络堆栈,从而可以执行高级缓存和脱机操作。 还有一些新的API可帮助使Web应用程序执行通常与本机移动应用程序相关的其他操作,例如启动屏幕启动,发送推送通知或向用户询问付款信息。 将其添加到浏览器中已加入的所有其他“ HTML5” API中(例如访问加速度计,照相机等),您便拥有了一个功能强大的Web平台,可用于多种应用程序。

创建PhoneGap时,所有这些功能都需要一个本机应用程序,但是现在浏览器已经赶上了。 我们可以卸下混合动力训练轮。

尽管如此,网络上仍然存在限制。 这只是基于标准的缓慢移动平台的本质。 渐进式Web应用程序是一大进步,但并不是所有应用程序的完美替代。 那么,如果Web开发人员仍然需要对本机设备API的完全访问权限,那么在混合后该怎么办? 输入JavaScript驱动的本机应用程序。

JavaScript驱动的本机应用

大约五年前,几家公司开始尝试寻找解决困扰混合移动应用程序的常见性能问题的解决方案。 目标:创建框架,这些框架可以提供“真正的本机”性能和UI丰富性,同时仍然是跨平台且Web开发人员熟悉的框架。 通过这项工作,出现了两个流行的选项: React Native (来自Facebook)和NativeScript (来自Progress)。

这些新框架使开发人员可以继续重用他们的Web技能,但是这些新方法不仅可以将Web浏览器包装在本机应用程序外壳中(如PhoneGap一样),还可以生成本机UI。 结果是移动应用程序在感觉和性能上更像“原始”单平台本机应用程序,同时仍获得跨平台的生产力。

有几种名称描述这种方法:“混合2.0”,“本地混合”和“跨平台本地”等。 Forrester引入了“ JavaScript驱动的本机应用程序”一词,尽管它不能完全避免误解,但至少是一个准确且可描述的名称。

借助JavaScript驱动的本机应用程序框架,Web开发人员可以拥有大部分他们对PhoneGap的喜爱,但功能和性能更高。 例如,与Angular和Vue高度集成的NativeScript,使开发人员可以通过JavaScript完全访问所有本机API。 每个人。 如果可以在本机应用程序中完成,则可以在NativeScript中完成,并且跨平台模块可以使大多数事情编码一次,并且可以在iOS和Android上运行。 就像类固醇上的PhoneGap插件一样。

React Native和NativeScript都是蓬勃发展的开源项目,并且对于渐进式Web应用程序不适合的情况,它们都准备成为“混合1.0”的自然演变。

您选择哪一个?

尽管PhoneGap并没有消失,但很难想象为什么当存在诸如渐进式Web应用程序和JavaScript驱动的本机应用程序之类的选项时,为什么今天任何新项目都将从PhoneGap开始。 这两个选项都代表了为未来构建的路径,对于已经熟悉混合应用程序开发的Web开发人员而言,采用这些方法相对微不足道。

在选项之间进行选择也应该很简单:

  1. 如果您的应用不需要大量设备API访问权限,也不需要进入应用商店,并且可以在iOS上使用一些额外的限制(目前),请构建一个渐进式Web应用。
  2. 如果您的应用程序要求超出了渐进式Web应用程序的限制,请选择一种JavaScript驱动的本机应用程序平台:
    1. 如果您是React商店,请选择React Native。
    2. 如果您是Angular或Vue商店,请选择NativeScript。

许多构想这些开源框架的公司都非常愿意提供帮助,并且大多数公司都提供了从PhoneGap迁移到其框架的技术指导。 如果您正在寻找开始迁移之旅的地方,那么与专家咨询始终是个好主意。

而且,如果您陷入困境,或者您只想与第三方专家交谈,那么对于开发人员社区而言,有很多可用的资源–显而易见,最受欢迎的选择是GitHub。 但是,现在已经创建了许多其他论坛来帮助开发人员从PhoneGap迁移并混合到渐进式Web应用程序,并且它们提供了一些很好的指导。

最终,PhoneGap辜负了它的名字。 它帮助Web开发人员跨越了近十年的移动应用程序开发“差距”。 从任何标准来看,这都是令人印象深刻的。 现在是时候让渐进式Web应用程序和JavaScript驱动的本机应用程序框架发挥作用,带领开发人员走向未来了。

混合动力车(1.0)已死。 混合动力万岁(2.0)。

Todd Anglin是Progress的产品策略和开发人员关系副总裁。

-

新技术论坛提供了一个以前所未有的深度和广度探索和讨论新兴企业技术的场所。 选择是主观的,是基于我们对InfoWorld读者认为最重要和最感兴趣的技术的选择。 InfoWorld不接受发布的营销担保,并保留编辑所有贡献内容的权利。 将所有查询发送到 newtechforum@infoworld.com

From: https://www.infoworld.com/article/3310936/mobile-app-development-after-phonegap-and-cordova.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值