PhoneGap:本质、功能及在Adobe平台上创建应用

作者: IT Sectr 发布日期: 2026-05-02 阅读时间: 8 分钟

PhoneGap是Adobe提供的Apache Cordova商业发行版,允许使用HTML、CSS和JavaScript创建移动应用程序,并在无需本地SDK的情况下在云端编译。该平台成为第一个广为人知的混合框架,在跨平台开发的普及中发挥了关键作用。据Adobe PhoneGap,2024数据,该平台存在期间已创建超过100万个应用程序。PhoneGap Build是Adobe的关键服务,可在无需安装Xcode或Android Studio的情况下编译APK和IPA。

要点

  • PhoneGap — Adobe提供的Apache Cordova商业发行版,附赠额外服务
  • PhoneGap Build — 云端编译器,无需本地SDK即可创建APK和IPA
  • WebView — 在应用内部渲染HTML/CSS/JS界面的主要组件
  • Adobe生态系统 — 与Creative Cloud和Adobe Analytics集成,用于应用营销
  • 历史作用 — PhoneGap成为首个面向移动开发的大规模混合框架

什么是PhoneGap?

PhoneGap是一个移动应用程序开发平台,最初由Nitobi Software公司于2009年创建。2011年,Adobe收购了Nitobi并将PhoneGap作为商业产品发布,将框架核心以Cordova之名移交给了Apache Software Foundation。

创建历史与演变

PhoneGap于2008年在iPhoneDevCamp大会上创建,Nitobi Software的开发人员展示了将Web应用封装到原生容器中的技术。第一个公开版本于2009年发布,立即引起了寻找无需学习Objective-C即可进入移动市场方式的Web开发者社区的关注。

PhoneGap的主要创新在于,开发人员可以使用熟悉的Web技术——HTML、CSS和JavaScript——来创建通过应用商店安装到设备上并可访问原生功能(相机、GPS、通讯录和加速度计)的应用程序。

据Adobe Developer Relations(2015)数据,在高峰期,全球超过60万开发人员使用PhoneGap。该平台在希望在不雇佣iOS和Android工程师的情况下扩展移动项目组合的Web工作室和自由职业者中尤其受欢迎。

PhoneGap与Apache Cordova的区别

PhoneGap与Apache Cordova之间的主要区别在于分发模式和附加服务。Cordova是由Apache Foundation管理的纯开源框架,而PhoneGap是其拥有Adobe独家功能的商业发行版。

特性Apache CordovaPhoneGap (Adobe)
许可Apache 2.0(开放)Apache 2.0 + 专有组件
核心原始代码相同的Cordova代码
云端编译PhoneGap Build
工具CLI + 第三方IDEAdobe PhoneGap Desktop + CLI
支持Apache社区Adobe(截至2020年)

PhoneGap相对于Apache Cordova的主要优势和最重要的商业区别——PhoneGap Build服务,它接管了编译阶段。开发人员将源文件上传到Adobe服务器,选择目标平台,并在无需安装Android SDK、Xcode和相关编译工具的情况下获得现成的二进制文件。

此外,PhoneGap包含了与Adobe Creative Cloud的集成,允许设计人员将Photoshop中的设计稿直接导出到PhoneGap项目结构中。这一功能在没有专门移动开发人员的小型团队中很受欢迎。

PhoneGap Build:云端应用编译

PhoneGap Build是Adobe的一项Web服务,将PhoneGap/Cordova应用程序的源代码编译为iOS (.ipa)、Android (.apk)、Windows Phone (.xap)和其他平台的安装文件。用户无需在计算机上安装目标操作系统的SDK。

编译过程包括三个步骤:开发人员将项目归档(或指定Git仓库),上传到build.phonegap.com并选择平台。几分钟后,服务器返回现成的二进制文件,可上传到应用商店。

PhoneGap Build支持两种订阅类型:免费(最多2个应用,公开编译)和付费(最多25个应用,私有编译,自定义图标和证书)。对于iOS,需要Apple Developer Program上传证书,用户将其上传到个人账户。Build的工作机制很简单:用户发送ZIP归档或指定Git仓库,服务器自动确定平台并通过控制面板返回现成的二进制文件。

据Adobe Blog(2017),每月通过PhoneGap Build进行的编译超过50万次。该服务在教育机构和黑客马拉松中尤其受欢迎,参与者无法访问Mac基础架构。开发人员还使用Build直接在设备上向客户演示原型,无需配置环境。

PhoneGap代码和配置示例

PhoneGap项目结构与Cordova相同。区别仅在于配置文件config.xml,其中添加了<gap>元素,指定PhoneGap版本和Adobe应用标识符。

xml
<?xml version='1.0' encoding='utf-8'?>
<widget id='com.adobe.phonegap.app'
        version='1.0.0'
        xmlns='http://www.w3.org/ns/widgets'
        xmlns:gap='http://phonegap.com/ns/1.0'>
    <name>PhoneGapApp</name>
    <description>
        PhoneGap应用程序
    </description>
    <gap:platform name='ios' />
    <gap:platform name='android' />
    <gap:plugin name='cordova-plugin-camera' />
    <gap:config platform='ios' min-version='13.0' />
</widget>

此配置文件定义了支持iOS和Android的应用程序,指定最低iOS 13版本并连接相机插件。上传到PhoneGap Build时,服务器会自动识别这些设置并使用必要的依赖项编译项目。

处理设备就绪事件和调用原生对话框的基本JavaScript代码示例:

javascript
document.addEventListener('deviceready', function() {
  console.log('PhoneGap准备就绪');

  document.getElementById('btnAlert')
    .addEventListener('click', function() {
      navigator.notification.alert(
        '来自PhoneGap的问候!',
        function() { console.log('确定'); },
        '消息',
        '关闭'
      );
    });
});

deviceready事件——所有PhoneGap和Cordova应用中的强制入口点。没有此事件,原生API调用将无法工作,因为桥接尚未初始化。就绪后,所有插件均可用,包括用于原生对话框的notification.alert。

PhoneGap的优缺点

PhoneGap具有一系列使其在2010年代中期流行的优点,但也存在局限性,导致其在2018年后市场份额下降。

优势

PhoneGap的主要优点——Web开发人员的低入门门槛。HTML、CSS和JavaScript是每个前端专家都熟悉的技术,这使得Web工作室可以在不雇佣iOS和Android工程师的情况下快速进入移动应用市场。

PhoneGap Build云服务解决了基础架构问题:Windows团队无需购买Mac即可编译iOS应用。这对于设备预算有限的初创公司至关重要。

劣势

PhoneGap的主要缺点——性能。WebView比原生UI框架慢,尤其是在复杂动画、大列表和图形处理方面。根据HTML5Rocks(2016)测试,在PhoneGap中渲染1000个元素的列表需要200-400毫秒,而原生应用只需16-30毫秒。

其他限制包括依赖于用户设备上的WebView版本、原生插件调试困难以及在相应Cordova插件发布之前无法访问新的iOS和Android API。

PhoneGap如今:支持与迁移

2020年,Adobe宣布停止对PhoneGap和PhoneGap Build的支持。该公司将成果移交给社区,并建议过渡到Apache Cordova或Capacitor。PhoneGap Build已关闭,云端编译不再可用。

对于现有PhoneGap项目,建议迁移到Capacitor——这是代码更改最少的最直接路径。只需替换初始化脚本并更新配置。所有JavaScript代码和HTML模板保持不变,因为Capacitor使用相同的桥接原理。

替代方案——直接过渡到Apache Cordova。这需要通过CLI本地安装平台并配置本地编译,但完全保持与现有插件和应用架构的兼容性。

尽管已关闭,但PhoneGap的历史意义难以估量。正是PhoneGap向市场展示了Web技术可以作为移动应用的基础,为现代混合和跨平台框架铺平了道路。首次在PhoneGap Build中实现的云端编译概念后来被Ionic Appflow、Visual Studio App Center和其他移动项目持续集成服务所采用。

PhoneGap的架构决策——通过WebView的桥接、插件系统和通过config.xml的配置——已成为混合开发的事实标准。即使在现代Capacitor项目中,也能看到PhoneGap的传承:相同的插件工作原理和类似的编译过程。

对于维护旧PhoneGap项目的开发人员来说,关键技能是理解插件桥接以及将插件适配到现代Android和iOS版本的能力。否则,由于过时的系统权限,根据新的商店要求更新应用将变得不可能。

常见问题

PhoneGap在2025-2026年还能用吗?

PhoneGap自2020年起已不再由Adobe官方支持,但基于其创建的应用程序仍可继续运行。通过PhoneGap Build编译新项目已不可用。建议迁移到Capacitor或Apache Cordova以获取安全更新。

PhoneGap与Ionic有何不同?

Ionic是建立在Cordova(以及后来的Capacitor)之上的层,增加了UI组件、路由和编译工具。PhoneGap是带有云端编译的Cordova发行版,但没有自己的UI组件。Ionic使用Cordova或Capacitor作为原生访问的后端。

编译PhoneGap应用需要Mac吗?

得益于PhoneGap Build,不需要Mac——iOS编译在Adobe服务器上执行。Build关闭后,iOS编译需要带有Xcode的Mac,因为Apache Cordova和Capacitor通过Apple工具本地编译原生项目。

哪些插件与PhoneGap兼容?

PhoneGap与所有Apache Cordova插件兼容,因为它使用相同的架构。cordova-plugin-camera、cordova-plugin-geolocation、cordova-plugin-file和cordova-plugin-inappbrowser插件无需修改即可运行。不存在仅适用于PhoneGap的专用插件。

现在还值得学习PhoneGap吗?

学习PhoneGap作为新工具没有意义——它已不再受支持。然而,了解其架构对于维护旧项目很有用。对于新的混合应用,建议学习Capacitor并结合Ionic或React Native。

总结

  • PhoneGap — Adobe提供的Apache Cordova商业发行版,带有云端编译服务
  • PhoneGap Build — 关键创新,允许在无需本地SDK的情况下编译应用
  • 架构与Cordova相同:WebView、桥接和原生插件系统
  • 优点包括Web开发人员的低入门门槛和云端编译基础架构
  • 缺点 — WebView性能低下、依赖OS版本、Adobe停止支持
  • 历史作用 — PhoneGap推广了混合移动开发
  • 建议 — 新项目选择Capacitor,旧项目从PhoneGap迁移

我们将开发一款交钥匙移动应用程序

IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。

讨论项目

另请阅读