What Expo Does
- Managed workflow — develop without touching native code
- Expo Go app — preview on device via QR code
- EAS Build — cloud-build iOS/Android binaries
- EAS Submit — submit to App Store/Play Store
- EAS Update — OTA JS updates (skip store review)
- Expo Router — file-based routing (like Next.js)
- 100+ modules — camera, notifications, location, sensors, biometrics
- Web support — same code runs in browser via react-native-web
Architecture
Expo sits on top of React Native. Managed workflow uses expo prebuild to generate native projects on demand. Bare workflow exposes full native access. Expo Router uses file-system routing with shared layouts.
Self-Hosting
CLI is free and open source. EAS (build/submit/update) is a paid SaaS with free tier. You can self-host EAS Update via expo-updates + your own CDN.
Key Features
- File-based routing (Expo Router)
- Hot reload on device
- OTA updates (EAS Update)
- Cloud builds (EAS Build)
- Web support (react-native-web)
- 100+ first-party modules
- TypeScript-first templates
- Dev Client for native testing
Comparison
| Framework | Approach | Native Access | Cloud Build |
|---|---|---|---|
| Expo | Managed + bare | Full (prebuild) | EAS |
| Bare RN | Manual | Full | Manual |
| Flutter | Dart + Skia | Full | Codemagic |
| Capacitor | Web in WebView | Plugin | Ionic Hub |
常见问题 FAQ
Q: Expo vs Bare React Native? A: Expo 是默认推荐。Bare 只在需要深度原生定制(自定义 ObjC/Swift/Java/Kotlin 代码)时选择。
Q: 支持 Web 吗?
A: 支持。同一套代码通过 react-native-web 在浏览器运行。适合中后台 + App 同构。
Q: EAS 贵吗? A: 免费层够小团队用(每月 30 次 Build、无限 Update)。商业项目 $19/月 起。
来源与致谢 Sources
- Docs: https://docs.expo.dev
- GitHub: https://github.com/expo/expo
- License: MIT