关于__CAPGO_KEEP_0__应用的实用指南,包括优点、缺点、原生权衡、项目健康状况以及__CAPGO_KEEP_1__如何通过实时更新、插件和云构建来改善C...

Capacitor 应用指南

什么是 Capacitor 应用?

Capacitor 应用是一种在真实的原生 iOS 和 Android 项目中部署的 web 应用。您的界面是运行在 WebView 中的 HTML、CSS 和 JavaScript,而 Capacitor 插件则将该 web code 与 native 设备 API(如相机、存储、推送通知、生物识别、文件和位置)进行了桥接。 Capgo 将这种架构转化为一个发布优势,带来实时更新、维护的插件和 native 云构建。

来自 Martin 的人性化支持

跨 iOS、web 框架和 Android 的跨平台移动应用开发

如何工作

Capacitor is not a UI framework. It is the native runtime under the app. Ionic, React, Vue, Angular, Svelte, Tailwind, or your own design system can render the UI inside the WebView.

1. 网页应用

您使用常规的Web工具构建产品,然后输出静态资产。 Capgo 可以在获得批准后更新这些资产。

您使用正常的 web 工具构建产品,然后输出静态资产。Capgo 可以在审批后更新这些资产

Capacitor 将这些资产放置在 iOS 和 Android 项目中。 Capgo Build 在这些二进制文件需要重建时会很有帮助。

Capgo 将这些资产放入 iOS 和 Android 项目中。Capgo Build 帮助在那些二进制文件必须重建时

JavaScript 调用插件,插件调用 Swift、Kotlin、Java、Objective-C 或 web fallbacks。Capgo 维护常见的原生需求插件。

JavaScript 调用插件,插件调用 Swift、Kotlin、Java、Objective-C 或 web 回退。Capgo 维护常见原生需求的插件

  • 积极的部分
  • 通过 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重型应用程序或具有恒定低延迟原生数据流应用程序。

最佳适合,坏适合

Capacitor最适合的情况是

  • SaaS、金融科技、医疗保健、教育、市场平台和内部工具,强调了web产品需求。
  • 需要在app store上发布的现有web应用程序,而不需要进行全原生重写。
  • 希望web、iOS和Android由大部分相同的前端团队处理的团队。
  • 具有正常原生需求的应用程序:摄像头、推送、身份验证、文件、生物识别、支付、位置和深度链接。
  • 受益于在商店批准后进行实时web打包更新的产品。
  • 希望Capgo Build处理可重复的iOS和Android构建、签名和发布工件,而不需要维护每个原生CI细节的团队。

选择另一个堆栈时

  • 高端3D游戏、视频编辑器、AR首先的产品或由重型实时原生渲染驱动的应用程序。
  • Swift、Kotlin、Java或Dart的团队只想编写代码。
  • 产品需要每个屏幕都使用原生平台控件构建。
  • 没有维护的插件存在且团队无法维护的团队依赖于特定原生SDK。
  • 团队希望原生code、权限、特权或商店政策的更改可以绕过应用程序审查。Capgo live updates适用于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 项目中生成商店准备的 artifact。

来自 Martin 的人性化支持

历史和血统

Capacitor 来自 Ionic 团队,他们也是 Ionic Framework 的同一家公司。它继承了 Cordova 和 PhoneGap 的核心 WebView 和原生插件模式,但现代化了开发者体验,围绕 npm 包,TypeScript,Swift,Kotlin,承诺的原生项目和 PWA 支持。

Apache Cordova 和 PhoneGap

Capacitor 继承了混合应用的想法:一个原生壳,一个 WebView,和从 JavaScript 到原生 API 的桥梁。

2017 年后期

Ionic 团队开始探索 Cordova 的现代替代品,因为 Ionic 扩展到了仅仅是移动 UI 之外的领域。

2019

Capacitor 首次发布时,Ionic 正在向 iOS,Android,桌面和 PWAs 的 web 原生运行时迁移。

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 stars

15.6k

ionic-team/capacitor

分叉

1.2千

公开 GitHub 仓库

每月下载量

9,600万

@capacitor/core, 2026年4月6日-5月5日

实用阅读

当您的产品是web-first且移动应用很重要时,请将Capacitor作为强默认值。使用Capgo时,发布速度很重要:web修复的实时更新、回滚的坏发布、分阶段的发布、维护的插件和native特性、以及Capgo Build生成真实的native二进制文件。没有live-update路径的native-only应用程序必须等待新的构建和商店审查。