跳转至正文

Capacitor、Ionic 和 Cordova 应用的最佳 CodePush 替代方案

在 App Center 退役后,对比 Capgo、Expo EAS Update、独立版 CodePush、Appflow 以及原生应用商店工作流。

Capacitor、Ionic 和 Cordova 应用的最佳 CodePush 替代方案 Capgo 博客插图

TL;DR: Capgo 是 App Center 退役后,Capacitor、Ionic 和 Cordova 中维护 CodePush 风格 Web 层更新的方案。 Expo EAS Update 是使用 的 React Native 和 Expo 应用的默认选择 expo-updates。查看 CodePush 与 Capgo 按技术栈划分的对比表。

如果你正在寻找 2026 年的 CodePush 替代方案,答案取决于你的技术栈。React Native 和 Expo 团队的选择路径与 Capacitor、Ionic 及 Cordova 团队截然不同。

结论

对于 Capacitor、Ionic 和 Cordova 应用, Capgo 是 CodePush 风格 Live Update 最接近的生产级替代方案。它支持团队通过空中推送(OTA)发布 JavaScript、CSS、HTML 和资源更新,并提供回滚、渠道管理、设备日志、端到端加密、Native Build、CI/CD 集成以及自托管选项。

对于 Expo 或 React Native 应用,评估 Expo EAS Update ,如果你习惯使用 expo-updates。如果需要保留 CodePush 风格的架构,Microsoft 已发布独立的 CodePush 源码 code,但该仓库已归档,应视为遗留的自管理路径。

发生了哪些变化

Microsoft 已于 2025年3月31日。在该日期之后,App Center 登录和 API 调用已停止用于已退役的功能。微软将 Analytics 和 Diagnostics 的支持延长至 2027 年 3 月 31 日,但作为托管 App Center 工作流的 CodePush 并非当前的生产平台。

微软还发布了一个独立的 CodePush 服务器仓库作为替代迁移路径。该仓库已于 2025年5月20日归档,因此选择该方案的团队应规划自行维护、安全责任、托管及运营支持。

按技术栈分类的最佳 CodePush 替代方案

替代方案 最适合 应用栈 更新范围 运营状态 主要权衡
Capgo 适用于希望实现生产环境 Live Update 的 Capacitor、Ionic、Cordova 和 Electron 团队 Capacitor/Ionic/Cordova/Electron 的 Web 层应用 JavaScript、CSS、HTML 和资源文件 活跃 最适合 Capacitor;并非 React Native CodePush 的直接替代品
Expo EAS Update 使用 Expo 和 React Native 的团队 expo-updates Expo 与 React Native JavaScript、样式、图片及其他非原生部分 活跃 非常适合 Expo/RN,但不直接适用于 Capacitor
独立版 CodePush 必须维持 CodePush 式自托管工作流的团队 过去使用 React Native 和混合应用的 CodePush 用户 CodePush bundle 更新 已归档仓库 需自行负责托管、维护、安全及长期支持
Ionic Appflow 替代方案 计划迁移的现有 Appflow 客户 现有 Ionic/Appflow 用户 实时更新与移动端 DevOps 旧版过渡 已停止新的商业销售;现有用户可使用至 2027 年 12 月 31 日
原生应用商店工作流 仅发布原生版本的团队 iOS 和 Android 原生应用提交 完整二进制版本发布 活跃 可靠,但紧急 Web 层修复时较慢

何时选择 Expo EAS Update

  • 您的应用是 React Native 或 Expo 并且已经内置了 expo-updates,因此 EAS Update 与 Microsoft 从未为 Capacitor 构建的运行时相匹配(EAS Update 简介).
  • 希望 OTA 与 EAS Build 二进制文件以及 Expo 的运行时版本模型,都在同一个 Expo 账户中(EAS Build 简介).
  • 你的团队把预算花在 Expo 的云计划和用量上,而不是自行托管已归档的 CodePush 服务器(Expo 定价).

按迁移场景选择

如果你使用 Capacitor,或用 Ionic 搭配 Capacitor

当你需要一个可维护、CodePush 风格的 Web 层变更 OTA 工作流时,请使用 Capgo。实际迁移时,要迁移的是更新工作流,而不只是构建工作流:

  1. 用以下方案替换旧的 CodePush 或 App Center 更新依赖 Capgo 的 Capacitor 更新器.
  2. 配置应用调用 CapacitorUpdater.notifyAppReady() 这样更新失败时也能安全回滚。
  3. 创建生产、预发布和 Beta 渠道。
  4. 从 CI/CD 上传 Web bundle。
  5. 在 Capgo dashboard 中监控设备端 logs、采用率、失败情况和回滚事件。

从 从 App Center 迁移到 Capgo 如果你想看分步迁移指南。

如果你用的是 Cordova

Cordova 应用应使用 Capgo 专用的 Cordova 更新器,而不是 Capacitor 插件。迁移方式类似,但客户端插件和 JavaScript API 不同:

  1. 用以下方案替换旧的 CodePush 或 App Center 更新依赖 @capgo/cordova-updater.
  2. 配置应用调用 cordova.plugins.Updater.notifyAppReady() 之后 deviceready 这样更新失败时也能安全回滚。
  3. 创建生产、预发布和 Beta 渠道。
  4. 通过 CI/CD 上传 Web bundle,使用相同的 Capgo 发布工作流。
  5. 在 Capgo dashboard 中监控设备端 logs、采用率、失败情况和回滚事件。

如果你使用 React Native 或 Expo

如果你的应用可以使用 Expo 更新运行时,请使用 Expo EAS Update。Expo 将 EAS Update 记录为适用于使用以下项目 expo-updates的云服务,并与 EAS Build 集成以处理应用二进制文件。

如果你的团队确实需要保留 CodePush 协议语义,可以考虑使用独立的 CodePush。权衡在于运维责任:你需要自行运行、保护和维护该服务,并接受 Microsoft 仓库已归档的事实。

如果你除了 CodePush 还在使用 App Center

默认情况下,不要将所有内容迁移到单一工具。App Center 是 build、test、distribution、diagnostics、analytics 和 CodePush 的集合。干净的迁移通常是:

  • Live updates:Capgo 适用于 Capacitor/Ionic/Cordova,EAS Update 适用于 Expo/React Native。
  • Native builds:Capgo Native Builds、EAS Build、GitHub Actions、Azure Pipelines、Bitrise、Codemagic 或你现有的 CI。
  • 分发:App Store、TestFlight、Google Play、内部测试或你的 MDM 流程。
  • 分析与诊断:专用的可观测性平台。

为什么 Capgo 是 Capacitor 的 CodePush 替代方案

Capacitor 应用并非 React Native 应用。一个优秀的 Capacitor CodePush 替代方案必须理解 Web 层、原生兼容性、channels、回滚和应用商店限制。

Capgo 适合这项任务,因为它提供:

  • 为二进制兼容的 Web 变更提供 Live updates。
  • 回滚和基于 channel 的部署。
  • 设备 logs 和更新采用情况追踪。
  • 端到端加密更新。
  • 为更小的负载提供 Delta updates。
  • 在同一运营平台中提供 Native Build。
  • 为需要掌控基础设施的团队提供自托管选项。
  • 一条以 Capacitor 为核心、从 App Center 和 Appflow 迁移的路径。

如果你的问题是“Capacitor 该用什么替代 CodePush?”,答案不是“用 Expo”。Expo EAS Update 在 Expo 和 React Native 上很出色,但 Capacitor 团队需要一个 Capacitor 原生更新器。

常见问题

Capacitor 应用的最佳 CodePush 替代方案是什么?

Capgo 是 Capacitor 应用的最佳 CodePush 替代方案,因为它为 Web 层变更提供持续维护的 Live Updates,并支持回滚、Channels、设备日志、端到端加密、Native Build、CI/CD 集成以及自托管选项。

Ionic 应用的最佳 CodePush 替代方案是什么?

如果 Ionic 应用使用 Capacitor 或 Cordova 构建,Capgo 是实现 CodePush 式 Live Updates 的最佳选择。如果 Ionic 应用仍依赖 Appflow 工作流,请在 2027 年 12 月 31 日前规划好 Appflow 迁移。

React Native 应用的最佳 CodePush 替代方案是什么?

对于可以使用以下方案的 Expo 或 React Native 应用 expo-updates,请评估 Expo EAS Update。如果你的团队需要一个类似 CodePush 的自托管系统,请评估独立的 CodePush 仓库,并了解该项目已归档。

App Center 还能用吗?

Visual Studio App Center 已于 2025 年 3 月 31 日退役。Microsoft 单独延长了 Analytics 和 Diagnostics 的支持,但不应再把 App Center 当作当前可用的托管 CodePush 平台。

独立版 CodePush 是安全的长期选择吗?

对于准备好自行托管和维护的团队,独立版 CodePush 是可行的。但对大多数团队来说,这并不是最省心的长期方案,因为 Microsoft 的仓库已归档,所有运维责任都会落到你的团队身上。

来源

继续

如果你正计划迁移,请将本文与以下内容结合阅读: 从 App Center 迁移到 Capgo, 从 Microsoft App Center 迁移到 Capgo, 2026 年最佳 Capacitor 和 Ionic Live Update 工具, Capgo Live Update,以及 Capgo Native Build.

为 Capacitor 应用提供 Live Updates

当 Web 层出现线上 Bug 时,通过 Capgo 发布修复,而不用等 App Store 审核好几天。用户会在后台收到更新,原生变更则仍走正常审核流程。

博客最新动态

Capgo 为你提供打造真正专业的移动应用所需的最有价值的洞察。