Capacitor app 指南
什么是 Capacitor app?
Capacitor app 是一种在真实的 iOS 和 Android 项目中部署的 web app。您的界面是运行在 WebView 中的 HTML、CSS 和 JavaScript,而 Capacitor 插件则将该 web code 与 native 设备 API(如相机、存储、推送通知、生物识别、文件和位置)进行了桥接。Capgo 将该架构转化为发布优势,包括实时更新、维护的插件和 native 云构建。
如何工作
Capacitor 不是 UI 框架。它是应用的 native 运行时。Ionic、React、Vue、Angular、Svelte、Tailwind 或您的自定义设计系统可以在 WebView 内渲染 UI。
1. Web 应用
您使用正常的 web 工具构建产品,然后输出静态资产。Capgo 可以在审批后更新这些资产。
2. Native 外壳
Capacitor 将这些资产放入 iOS 和 Android 项目中。Capgo Build 可以帮助在这些二进制文件必须重建时。
3. 插件桥
JavaScript 调用插件,插件调用 Swift、Kotlin、Java、Objective-C 或 web fallbacks。Capgo 维护常见的原生需求的插件
积极部分
- 一个 web 代码库可以将应用程序部署到 iOS、Android 和 web 上
- 通过 Capgo 的实时更新,允许的 HTML、CSS 和 JavaScript 修复可以绕过商店审查队列,直到原生应用程序获得批准
- 团队可以保留 React、Vue、Angular、Svelte 或普通 web 工具,而不必重写为 Swift 和 Kotlin
- 原生访问通过插件实现,且自定义的 Swift、Kotlin、Java 或 Objective-C code 可以添加
- 现有的现代 web 应用程序可以采用 Capacitor 而无需改变 UI 框架
- Capacitor 保留原生 iOS 和 Android 项目在仓库中,这使得平台调试和 SDK 工作更加明确
- 大多数 Cordova 插件仍然可以工作,这有助于更老的 Ionic 和 Cordova 团队逐渐迁移
- Capgo 添加了维护的 Capacitor 插件、实时更新通道、回滚和云构建,基于 Capacitor 运行时
消极部分
- UI在WebView中运行,因此Web性能不佳会导致移动性能不佳。
- JavaScript到本机桥之间的大型或频繁数据传输会增加开销。
- 团队仍需要一些本机应用知识来进行签名、商店审查、权限、Gradle、Xcode和SDK升级。
- 本机项目是源文件,因此重大升级可能需要小心的手动更改。
- 插件生态系统很广泛,但并不是每个社区插件都具有相同的维护质量,这就是为什么维护的Capgo插件对于生产应用很重要的原因。
- 通常情况下,不是最佳选择用于完全本机UI、先进游戏、AR重APP或应用程序的低延迟本机数据流。
最佳匹配、不佳匹配
Capacitor最适合
- SaaS、金融科技、医疗保健、教育、市场和内部工具,强大的Web产品需求。
- 需要在不进行全本机重写的情况下将现有Web应用推送到应用商店的应用。
- 主要由同一前端团队处理Web、iOS和Android的团队。
- 具有正常本机需求的应用:摄像头、推送、身份验证、文件、生物识别、支付、位置和深度链接。
- 产品可以在商店批准后立即接收到实时的Web包更新.
- Teams that want Capgo Build to handle repeatable iOS and Android builds, signing, and release artifacts without maintaining every native CI detail.
选择另一个堆栈时
- 高端3D游戏、视频编辑器、AR首先的产品或依赖于重型实时本机渲染的应用.
- 团队想要只编写Swift、Kotlin、Java或Dart代码.
- 产品每个屏幕都必须从原始平台本机控件中构建.
- 依赖于一个特定本机SDK的应用,但没有维护的插件存在且团队无法维护一个.
- 团队期望本机code、权限、特权或商店政策变化可以绕过应用程序审查。Capgo实时更新适用于Web包,而不是本机二进制变化.
为什么Capgo很重要
本机应用程序等待一个新的二进制文件、签名、发布和应用程序审查的每个可见变化。Capacitor给你一个Web包,放在本机应用程序中。Capgo将该包转换为一个更快的发布路径,同时仍然保持本机code变化在适当的应用商店审查流程中.
绕过审查队列的实时更新
Capgo直接将允许的Web包更新发送到用户,等待本机应用程序批准,这样修复副本、UI修复、JavaScript补丁和远程配置就不需要等待App Store或Play Store审查几天时间。
回滚、频道和控制发布
Capgo允许团队将应用发布到beta用户、百分比、频道或特定版本,然后快速回滚当web更新出现问题时。
维护Capacitor插件
Capgo为生产Capacitor应用提供了一个大型插件目录,覆盖了常见的本地需求,如身份验证、存储、购买、媒体、设备API和企业迁移。
Capgo构建本机发布
当本机code发生重大变化时,Capgo构建会帮助生成iOS和Android构建、管理签名、跟踪日志并从同一个Capacitor项目中发送商店准备的工件。
历史和血统
Capacitor来自Ionic团队,同样是Ionic框架背后的公司。它继承了Cordova和PhoneGap的核心WebView和本机插件模式,但 在npm包、TypeScript、Swift、Kotlin、提交的本机项目和PWA支持方面现代化了开发人员的体验。
Cordova和PhoneGap
Capacitor继承了混合应用的概念:一个本机壳、一个WebView和从JavaScript到本机API的桥梁。
2017年晚期
Ionic团队开始探索Cordova的现代替代品,因为Ionic扩展到了仅限移动UI之外的领域。
2019
Capacitor最初以iOS、Android、桌面和PWA的Web本地运行时为Ionic移动向前迈出了一步。
2022
Ionic加入了OutSystems。Ionic后来表示Capacitor仍然是OutSystems移动工作和开源支持的核心部分。
2023-2026
Ionic将Capacitor转移到了一个更可预测的发布频率,并开始了公共的后期健康重置。
维护和健康
Capacitor由Ionic团队维护,社区贡献者围绕着生态系统。该项目健康,但不是完美的:Ionic在2026年2月公开承认了后期债务,并开始清理旧问题和拉取请求。
截至2026年5月6日的快照。计数随时间而变化。
最新稳定版本
8.3.1
2026年4月16日发布
GitHub星标
15.6k
ionic-team/capacitor
分叉
1.2k
公开的GitHub仓库
每月下载
9.6M
@capacitor/core, 2026年4月6日-5月5日
实用阅读
当您的产品是web优先且移动重要时,建议将Capacitor作为强大的默认值。使用Capgo时,速度更快:web修复的实时更新、回滚坏的版本、渠道进行阶段性发布、维护的原生插件和Capgo Build时,需要生成真正的原生二进制文件。原生应用没有实时更新的路径;每个修复都需要等待新建的构建和商店审查。