告别PhoneGap
Adobe 刚刚宣布他们将关闭 PhoneGap、PhoneGap Build以及对 Apache Cordova 的(长期不存在的)投资。
作为混合应用程序开发的先驱,也就是构建移动应用程序的 Web 开发人员,这确实是一个时代的终结。
但这并不是混合应用开发故事的终结。像Ionic这样的公司已经在这个领域领先了一段时间,所以这种衰落似乎是可以预见的,而且坦白说,这将会持续很长时间。
我想借此机会反思混合应用程序开发市场,感谢 PhoneGap 团队的开拓,并想知道它的未来发展方向。
Web 开发者统治世界
PhoneGap 团队一开始就意识到,Web 开发人员希望利用他们现有的技能、浏览器开发工作流程和 Web 开发团队来构建移动应用程序。
然而,说服其他移动市场参与者并非易事。PhoneGap 面临着来自现有原生应用开发者群体的强烈抵制。这些开发者不遗余力地诋毁 PhoneGap 以及开发者在该平台上开发的应用,实际上将开发移动应用的 Web 开发者归类为二等公民。在某些情况下,这感觉就像一场全面战争。
随着时间的推移,PhoneGap 的理念被证明是正确的:Web 开发者希望在各个领域运用他们的技能,而很少有平台像移动平台这样庞大且令人兴奋。Web 开发者从未停止磨练他们的移动技能,而混合应用开发生态系统也不断发展以迎合他们的需求。
Adobe 传递火炬
Ionic 框架于 2013 年推出,当时混合应用开发的第一个时代即将结束。iPhone 5 刚刚问世,极大地推动了 Web 平台的功能和移动 Web 性能的提升。Android 2.3 正在迅速消亡,而现代 Android 系统才刚刚开始崭露头角。
Ionic Framework 的宣传很简单:Web 开发者已经表明他们想要构建移动应用,但这些应用没有官方的 UI 库,因此开发者很难获得与原生应用相当的 UI 体验。Ionic Framework 就是这个库。
此外,从基于 Web 的 UI 库获得高性能非常困难,因此 Ionic 采用了 Web 性能的最佳实践并将其融入到 UI 库中,这样 Web 开发人员就不必担心这个问题。
它一炮而红。过去 7 年里,基于 Cordova 构建的 Ionic 应用在应用商店中占据了相当大的份额,数量已达数百万。
在此过程中,Adobe 开始退居二线,并在几年前将火炬传递给了 Ionic。Adobe 多年来一直没有在这个领域活跃,而 Ionic 已经成为 Web 开发者跨平台移动应用开发的领导者。因此,PhoneGap 倒闭的消息并不令人意外。
Web 开发者想要成为 Web 开发者
多年来,移动市场发生了翻天覆地的变化。React Native、Flutter 和 NativeScript 等新项目对混合应用开发提出了挑战,也为开发者带来了更多构建应用的选择。
但有一件事始终未变:Web 开发者希望构建 Web 应用并随处运行。他们希望利用现有的技能、基于浏览器的开发流程、Web 库和代码来构建移动应用。这首先解释了 Cordova/PhoneGap 的兴起,也解释了 Electron 在桌面端的崛起。
对于想要将 Web 应用迁移到移动设备的 Web 开发者来说, Cordova(以及现代替代方案Capacitor)仍然是唯一的选择,而Ionic Framework仍然是最受欢迎的 UI 库。你可以称之为“移动版 Electron”。
相比之下,React Native 要求开发者从头构建 UI,无法与大多数 React Web UI 项目兼容,不支持标准 CSS,也无法使用大多数 React Web 库(使用 React 的 Web 开发者比 React Native 受欢迎 17 倍)。Flutter 要求 Web 开发者放弃 JavaScript 投资,而且其 Web 支持不适用于渐进式 Web 应用。
“一次构建,随处运行”的梦想在 Capacitor 和 Cordova 领域依然活跃,每个月在这个平台上构建的数千个应用程序以及显著的企业吸引力证明 Web 开发人员仍然希望从事 Web 开发。
下一步是什么?
过去十年,这个领域发生了翻天覆地的变化,未来十年我们很可能会看到更多变化。渐进式 Web 应用 (PWA) 仍处于萌芽阶段,但世界各地的开发者越来越不满繁琐的应用商店要求,这些要求限制了公司触达和服务用户的能力。许多团队正在尝试“PWA 优先开发”。
Web 开发者已经磨练了在浏览器中构建复杂应用的能力,并且在构建高性能体验方面也越来越精湛。因此,React 的统治地位并不意味着 React Native 将成为移动开发者的赢家,而是表明使用React 构建移动 Web 应用的开发者是最值得关注的领域之一。
最后,跨平台显然会持续发展,像 Flutter 这样的工具证明,越来越多的 Web 开发者希望同时为多个平台构建应用。未来某一天,为单一平台构建原生应用会不会变得很奇怪?我不知道,但我们拭目以待。
感谢 Adobe
听到这个消息,我们与 PhoneGap 团队共事的时光不禁涌上心头,他们中的许多人后来都成了我们 Ionic 的朋友和顾问。我仍然梦想着在 PhoneGap Day 结束后骑着自行车环游阿姆斯特丹,度过我们共同度过的美好时光。
最后,感谢 PhoneGap(以及 Adobe)在这个领域的开拓,以及对 Ionic 的帮助。没有你们,我们不可能创办这家公司,也不可能结识到如此优秀的朋友。
再见👋
文章来源:https://dev.to/ionic/saying-goodbye-to-phonegap-1gp4