Expo
是什么
Expo 是一个构建在 React Native 之上的开源框架与平台,让构建、运行和发布移动应用变得轻松许多。它打包了一组精选的原生模块、一个命令行工具,以及用于构建和提交应用的云服务(EAS),让你无需自己管理 Xcode 和 Android Studio。借助 Expo Go 应用,扫一扫二维码就能在真机上即时预览项目。
优势
- 消除了大部分原生构建的摩擦——常见场景下无需触碰 Xcode/Gradle。
- 提供大量现成的原生 API(相机、通知、定位等)。
- EAS Build 和 EAS Submit 负责云端构建和应用商店提交。
- 空中更新(OTA)让你无需经历完整的商店审核即可推送 JavaScript 修复。
- 基于文件的路由(Expo Router)以及出色的 TypeScript 支持。
取舍
- 你会受限于 Expo 的发布节奏和所支持的原生模块集合。
- 深度定制的原生代码可能需要 "prebuild" 和更多配置。
- 应用体积可能更大,某些高级原生集成需要额外工作。
- 云构建服务在免费层有用量限制。
最适合
对于大多数 React Native 项目,Expo 是合理的默认选择——尤其是希望快速发布到两大应用商店、又不想成为原生构建专家的小团队和独立开发者。
与 vibe coding 的契合度
Expo 非常适合 AI 辅助构建:CLI 一条命令就能搭起一个可运行的应用,Expo Go 提供即时的真机预览,而内置的 API 意味着助手很少需要去接那些脆弱的原生代码。可以让模型用 Expo Router 做导航、用 TypeScript 保障安全,并在第三方原生包之前优先使用 Expo 自己的模块(例如 expo-camera)。说明你的目标应用商店,让它正确配置 EAS。
npx create-expo-app@latest my-app
cd my-app
npx expo start # 用 Expo Go 扫描二维码
npx eas build --platform all # 为两大商店进行云构建