跳过主要内容

Expo 比较

Expo vs Capgo for web apps

已经 React Native? 使用 Expo。 有一个 web 应用? 使用 Capacitor 与 Capgo 并避免重写.

架构优先

选择您实际拥有的栈

有用比较始于拥有权、运行时和您的团队想要维护的代码库。

选择 Capgo 时

  • 您已经有一个 web 应用,并且想要在 iOS 和 Android 上部署而无需重写 React Native 的 UI。
  • 您的应用使用 React、Vue、Angular、Svelte、Ionic 或其他可以通过 Capacitor 运行的 web UI 栈。
  • 您想要在不重建原生二进制文件的情况下部署 web bundle 修复。
  • 您想要原生构建、实时更新、回滚、渠道、设备日志和直接 Capacitor 插件控制。

选择 Expo 时

  • 您已经有一个 React Native 应用程序或故意希望 React Native 为移动 UI。
  • 您希望 Expo SDK, EAS Build, EAS Submit, 和 EAS Update 作为一个面向 React Native 的平台。
  • 您的团队熟悉 React Native 原生模块、配置插件和 Expo 运行时概念。
  • 您接受重建移动 UI 代替保留现有 Web 应用程序 UI。

并排

实际差异

直接查看操作模型、更新路径、定价路径、原生 API 和迁移权衡。

核心堆栈

Capgo

现有的基于 Capacitor 的 iOS 和 Android 项目中的 web 应用。

使用 Expo 框架、Expo __CAPGO_KEEP_0__ 和 EAS 服务的 Expo 和 React Native 应用。

React Native apps using the Expo framework, Expo SDK, and EAS services.
__CAPGO_KEEP_0__

Capgo 升级插件加上 __CAPGO_KEEP_1__ 云或自主托管的基础设施来更新 __CAPGO_KEEP_2__ 个 web 包。

Capgo updater plugin plus Capgo cloud or self-hosted infrastructure for Capacitor web bundles.

EAS Update 为使用 expo-updates 库的项目提供更新服务。

兼容性模型
__CAPGO_KEEP_0__

原生 Capgo 的变化仍然需要一个新的二进制文件;web 包更新可以通过频道、版本和滚动规则来定位。

Native-code changes still need a new binary; web bundle updates can be targeted by channel, version, and rollout rules.

EAS Update

运行时版本保证更新与本地code在构建时兼容。
本地构建

Capgo

Capgo Build 帮助生成 iOS 和 Android 的 artifact 对于Capacitor 项目,包括本地构建时间在每个付费计划中。

Expo

EAS Build 将 Android 和 iOS 应用程序编译和签名为 Expo 和 React Native 项目。
价格路径

Capgo

Capgo 从 $12/月年付或 $14/月月付开始,所有计划都包括本地构建时间。

Expo

Expo 支付 EAS 从 $19/月 + 使用开始,生产 $199/月 + 使用,包括构建积分和超出部分。
本地 API

Capgo

Capacitor 插件,维护 Capgo 插件,并自定义本机 code 在 Swift、Kotlin、Java 或 Objective-C 中。

Expo

Expo 模块、React Native 本机模块、配置插件和 Expo SDK API。
最佳迁移

Capgo

需要 React Native 重写的移动应用路径的现有 Web 应用。

Expo

React Native 应用、Expo 应用或团队有意将移动 UI 移动到 React Native。

决策指南

根据关注的权衡选择

01

当 Expo 获胜时

Expo 是一个成熟的路径,适用于 React Native 团队。如果应用程序已经是 React Native,这不是一个真正的 Capgo 比较;Expo 和 EAS 是为该栈而构建的。

  • 适合 React Native UI。
  • 围绕 EAS 的强大服务包。
  • 更新兼容性模型的运行时版本。

02

当 Capgo 获胜时

Capgo 是当起始点是 web 应用时的直接路径。保留 UI,.wrap 它于 Capacitor,然后使用 Capgo 进行实时更新、回滚、通道、日志和原生构建。

  • 避免 React Native 重写。
  • 与 web 框架输出兼容。
  • 添加更便宜的付费计划,包括原生构建时间。

03

如何选择

比较您要维护的代码库。如果您想要 React Native,选择 Expo。如果您想将 web 应用转换为移动应用,选择 Capacitor 与 Capgo。

  • 选择 Expo for React Native。
  • 选择 Capgo 将您的 web 应用程序转换为移动应用程序。
  • 选择您想避免重写的选项。

常见问题

常见问题

是否 Expo 比 Capgo 更好?
Expo is the better fit if your app is already React Native. Capgo is the better fit if you have a web app and want to ship it as a mobile app with Capacitor instead of rebuilding the UI in React Native.
Capgo 是否可以更新 Expo 应用程序?
不。 Capgo 更新 Capacitor 应用程序通过 Capgo 更新器插件。 Expo 应用程序应使用 Expo 更新生态系统,例如 EAS Update 与 expo-updates。
EAS Update 是否可以更新 Capacitor 应用程序?
EAS Update 为使用 expo-updates 库的项目提供更新。 Capacitor 应用程序使用不同的运行时和插件模型,因此 Capgo 是 Capacitor 实时更新的直接适配。
Capgo 是否比 EAS 更便宜?
对于付费云工作流程, Capgo 开始便宜:$12/月年付或$14/月月付,包括每个计划中的原生构建时间。 Expo 的 EAS付费计划从 $19/月开始 + 使用量,并通过构建积分和按使用量计费进行扩展。
一个 web 团队应该选择哪个堆栈?
如果您已经有一个工作的 web 应用,Capacitor 与 Capgo 可以让您保留该代码库并添加 iOS、Android、实时更新、原生构建和回滚。

Capgo 下一步

不必等待每个商店审查,直接将 Capacitor 更新推送给用户。

使用 Capgo 实现实时更新、回滚、渠道、设备日志、插件维护和原生构建,当您的应用基于 Capacitor 时。