Expo Workflow
Build and ship faster with Expo managed workflow, EAS Build, config plugins, and development builds.
Expo Managed Workflow
Expo abstracts native project management. npx create-expo-app scaffolds projects with expo-router optional file-based navigation.
Expo SDK bundles compatible native module versions. Upgrade with npx expo install to align dependency versions.
Expo Go app runs projects on devices without native builds—great for prototyping until custom native code is required.
- Use expo install instead of npm install for Expo packages
- Configure app.json for name, slug, icons, splash
- Switch to development builds when using custom native modules
npx create-expo-app MyApp cd MyApp npx expo start
EAS Build and Submit
Expo Application Services build iOS and Android in cloud with eas.json profiles: development, preview, production.
eas submit uploads artifacts to stores. Credentials managed remotely reduce local Xcode/Android setup for teams.
Environment secrets inject API URLs per channel. Use EAS Update for OTA tied to runtime version policies.
- Pin runtimeVersion for predictable OTA compatibility
- Use internal distribution for QA preview builds
- Cache node_modules in EAS for faster builds
{
"build": {
"production": { "autoIncrement": true }
}
}Config Plugins
Config plugins modify native projects during prebuild from app.json/app.config.js without ejecting manually.
Community plugins add permissions, Firebase, and analytics. Write custom plugins when integrating proprietary SDKs.
Run npx expo prebuild to generate ios and android folders when adopting bare workflow incrementally.
- Document plugin order when multiple modify Info.plist
- Commit app.config.js changes reviewed like code
- Test prebuild output in CI before release