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。实际迁移时,要迁移的是更新工作流,而不只是构建工作流:
- 用以下方案替换旧的 CodePush 或 App Center 更新依赖 Capgo 的 Capacitor 更新器.
- 配置应用调用
CapacitorUpdater.notifyAppReady()这样更新失败时也能安全回滚。 - 创建生产、预发布和 Beta 渠道。
- 从 CI/CD 上传 Web bundle。
- 在 Capgo dashboard 中监控设备端 logs、采用率、失败情况和回滚事件。
从 从 App Center 迁移到 Capgo 如果你想看分步迁移指南。
如果你用的是 Cordova
Cordova 应用应使用 Capgo 专用的 Cordova 更新器,而不是 Capacitor 插件。迁移方式类似,但客户端插件和 JavaScript API 不同:
- 用以下方案替换旧的 CodePush 或 App Center 更新依赖
@capgo/cordova-updater. - 配置应用调用
cordova.plugins.Updater.notifyAppReady()之后deviceready这样更新失败时也能安全回滚。 - 创建生产、预发布和 Beta 渠道。
- 通过 CI/CD 上传 Web bundle,使用相同的 Capgo 发布工作流。
- 在 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 的仓库已归档,所有运维责任都会落到你的团队身上。
来源
- Microsoft Visual Studio App Center 退役通知
- Microsoft 独立 CodePush 服务器仓库
- Expo EAS Update 简介
- Expo EAS Build 简介
- Ionic 关于 Appflow 及其他商业产品的公告
- Capgo Live Update
- Capgo 入门指南
- Capgo Cordova 更新指南
继续
如果你正计划迁移,请将本文与以下内容结合阅读: 从 App Center 迁移到 Capgo, 从 Microsoft App Center 迁移到 Capgo, 2026 年最佳 Capacitor 和 Ionic Live Update 工具, Capgo Live Update,以及 Capgo Native Build.