Cordova 的全称是 Apache Cordova,是 Apache 基金会支持的一套开源移动APP的开发工具,其前身是PhoneGap。PhoneGap被收购后,开发者将其核心代码部分捐给Apache,并取名Cordova。它允许移动APP开发者使用HTML+CSS+JavaScript来访问本地设备的功能,“one code base”完成多终端平台的移动应用开发。它可以与目前流行的UI框架,例如:vue、Ionic、jQuery Mobile等结合,实现H5面向多平台(android、IOS)多终端(手机、手表、平板、TV…)的开发。
Capacitor 是由 Ionic 团队维护的一个项目,是 Cordova 的继承者, 它支持大多数(但不是全部)Cordova插件以及特定于Capacitor的插件(称为API)。 它以JavaScript模块的形式公开原生设备API。
在跨平台移动应用开发领域,Ionic、PhoneGap、Cordova、Capacitor 和 Angular 是紧密关联但定位不同的技术。以下是它们的核心关系与区别:

1. 技术栈层级关系
• 基础层:
• Cordova/PhoneGap:提供 WebView 容器和原生插件机制,允许 Web 代码调用设备功能(如相机、GPS)。
• Capacitor:Cordova 的现代替代品,更轻量且兼容 PWA(渐进式 Web 应用)。
• UI 框架层:
• Ionic:基于 Angular/React/Vue 的 UI 组件库,依赖 Cordova 或 Capacitor 实现原生功能。
• 前端框架:
• Angular/React/Vue:用于构建应用逻辑和界面,可与 Ionic 结合使用。
2. 各技术核心定位
技术 | 定位 | 开发者 |
---|---|---|
Cordova | 开源 Hybrid 开发框架,提供 WebView 容器和插件机制 | Apache 开源社区 |
PhoneGap | Cordova 的商业发行版(Adobe 维护),提供云构建和工具链 | Adobe |
Capacitor | Cordova 的现代化替代品,更轻量、支持 Web 标准,与 Ionic 深度集成 | Ionic 团队 |
Ionic | 基于 Web 技术的 UI 框架,提供跨平台组件和工具链(依赖 Cordova/Capacitor) | Ionic 团队 |
Angular | 前端框架(与 Ionic 默认集成,但 Ionic 也支持 React/Vue) |
3. 关键区别与联系
(1) Cordova vs PhoneGap
• 相同点:核心代码相同(PhoneGap 是 Cordova 的商业包装版)。
• 不同点:
• PhoneGap:提供云编译(PhoneGap Build)、Adobe 生态集成,适合不想配置本地环境的开发者。
• Cordova:完全开源,需本地开发环境(如 Android Studio/Xcode)。
(2) Cordova vs Capacitor
维度 | Cordova | Capacitor |
---|---|---|
架构 | 老旧(基于 WebView + 插件) | 现代(支持 PWA、Web 标准) |
插件机制 | 依赖社区插件,质量不稳定 | 官方维护核心插件,兼容部分 Cordova 插件 |
配置方式 | config.xml |
capacitor.config.json |
热更新 | 需第三方插件(如 cordova-hot-code-push) | 原生支持 |
Web 兼容性 | 差(插件需 Cordova 环境) | 高(可直接在浏览器运行) |
(3) Ionic 的角色
• 与 Cordova/Capacitor 的关系:
• Ionic 是一个 UI 框架,需依赖 Cordova 或 Capacitor 调用原生功能。
• 例如:Ionic 的按钮组件 <ion-button>
渲染为原生样式,但调用相机仍需通过 Capacitor 插件。
• 与 Angular 的关系:
• Ionic 默认使用 Angular,但现已支持 React 和 Vue(如 @ionic/react
、@ionic/vue
)。
(4) Angular 的作用
• Angular 是前端框架,用于构建应用逻辑。在 Ionic 生态中:
• 传统方案:Ionic + Angular + Cordova(旧项目常见)。
• 现代方案:Ionic + Angular/React/Vue + Capacitor(推荐)。
4. 典型技术组合
方案 1:传统 Hybrid 开发
Angular → Ionic → Cordova → 原生 App
• 特点:兼容旧项目,但性能和维护性较差。
方案 2:现代跨平台开发
React/Vue/Angular → Ionic → Capacitor → 原生 App/PWA
• 特点:支持热更新、Web 标准,性能更优。
方案 3:纯 Cordova 开发
HTML/CSS/JS → Cordova → 原生 App
• 特点:适合简单应用,但 UI 需手动实现。
5. 如何选择?
需求 | 推荐技术栈 |
---|---|
快速开发跨平台 App | Ionic + Capacitor + Angular/React/Vue |
维护旧 Cordova 项目 | Ionic + Cordova |
仅需基础 Hybrid 功能 | 纯 Cordova/PhoneGap |
追求 Web 标准兼容性 | Capacitor + 任意前端框架 |
6. 总结
• Cordova/PhoneGap:Hybrid 开发的基础工具,但逐渐被 Capacitor 取代。
• Capacitor:更现代的替代品,适合新项目,尤其是 PWA 和 Ionic 应用。
• Ionic:UI 框架,需结合 Cordova/Capacitor 使用,支持多前端框架。
• Angular:Ionic 的默认选择,但非必须(可用 React/Vue 替代)。
一句话记忆:
Ionic 是 UI 管家,Cordova/Capacitor 是桥梁,Angular/React/Vue 是设计师,PhoneGap 是 Cordova 的商业马甲。