Cordova、PhoneGap与Ionic的关系

本文最后更新于:2026年3月11日 晚上

Cordova、PhoneGap与Ionic的关系

简介

很多开发者对 Cordova、PhoneGap 和 Ionic 的关系感到困惑。它们都与混合移动应用开发相关,但各自的定位和作用有所不同。本文将梳理三者的历史渊源和实际关系。

概念图

PhoneGap 的诞生

PhoneGap 最早由 Nitobi 软件公司于 2009 年在旧金山召开的 iPhoneDevCamp 大会上发布。它是一个基于 HTML、CSS 和 JavaScript 技术创建跨平台移动应用程序的快速开发框架。

核心特性

PhoneGap 使开发者能够通过 JavaScript 调用移动设备的核心功能,包括:

  • 地理定位
  • 加速器
  • 联系人
  • 声音和振动
  • 相机
  • 文件系统

支持的平台包括:iOS、Android、Palm、Symbian、WP7、WP8、Bada 和 Blackberry 等。

Adobe 收购与开源

2011年10月4日,Adobe 正式宣布收购 Nitobi 软件公司,并做出了一个重要决定:

  • 将 PhoneGap 的核心代码贡献给 Apache 软件基金会
  • 保留了 PhoneGap 的商标所有权

Apache 将 PhoneGap 核心代码命名为 Apache Callback 项目,后又更名为 Apache Cordova

发展时间线

timeline
    title PhoneGap/Cordova 发展历程
    2009 : Nitobi 发布 PhoneGap
    2011-10 : Adobe 收购 Nitobi
         : 核心代码贡献给 Apache
         : Apache 命名为 Callback
    2011-12 : 更名为 Apache Cordova
    至今 : Cordova 是开源核心
       : PhoneGap 是 Adobe 商业品牌

Cordova 与 PhoneGap 的关系

简单来说:Cordova 是 PhoneGap 的开源核心代码。

Adobe PhoneGap 官方 FAQ 中有一个很好的类比:

Think about Cordova’s relationship to PhoneGap like WebKit’s relationship to Safari or Chrome.

就像 WebKit 是 Safari 和 Chrome 的渲染引擎一样,Cordova 是 PhoneGap 的核心引擎。

  • 如果你要贡献代码:请贡献到 Apache Cordova 项目
  • 如果你要开发应用:两者都可以,Cordova 是纯开源的,PhoneGap 提供了一些额外的商业服务和工具

Ionic 的介绍

Ionic 是一个用于开发混合手机应用的开源前端框架。它基于 HTML、CSS 和 JavaScript,专注于为移动端提供高质量的 UI 组件和交互体验。Ionic 还对 Sass 和 AngularJS 进行了优化,方便开发者快速构建现代化的移动应用。

Ionic 的特点

  • 丰富的移动端 UI 组件库
  • 响应式布局和高性能动画
  • 支持主题定制和 Sass 变量
  • 与 Angular、React、Vue 等主流前端框架集成

Ionic 与 Cordova 的关系

Ionic 集成了 Apache Cordova 框架,开发者可以直接通过 Ionic 的命令行工具(如 ionic cordova buildionic cordova run 等)调用 Cordova 的创建、编译、打包等功能,实现对原生功能的访问。

Ionic 负责前端 UI 和交互,Cordova 负责调用原生 API 和打包应用,两者结合让开发者能够用 Web 技术开发出接近原生体验的移动应用。

总结

  • PhoneGap:最早的混合应用开发框架,现为 Adobe 商业品牌
  • Cordova:PhoneGap 的开源核心,由 Apache 基金会维护
  • Ionic:基于 Web 技术的移动 UI 框架,集成 Cordova 实现原生功能调用

三者的关系可以简单理解为:

  • Ionic 集成了 Cordova, 提供 UI 和前端开发体验, 用于创建、编译和打包移动应用项目。
  • Cordova 提供原生功能访问和打包能力, 是一个开源移动应用开发框架
  • PhoneGap 是 Cordova 的商业分支

参考资料:


Cordova、PhoneGap与Ionic的关系
http://bestkele.com/2018/10/09/cordova/Cordova-PhoneGap/
作者
kele
发布于
2018年10月9日
许可协议