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 is the default recommendation. Choose Bare only when you need deep native customization (custom ObjC/Swift/Java/Kotlin code).
Q: Does it support the Web?
A: Yes. The same code runs in the browser via react-native-web. Great for admin backends + app isomorphism.
Q: Is EAS expensive? A: The free tier is enough for small teams (30 builds per month, unlimited updates). Commercial projects start at $19/month.
Sources & Credits
- Docs: https://docs.expo.dev
- GitHub: https://github.com/expo/expo
- License: MIT