Back to React Native tutorials
Intermediate17 min read

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

Get In Touch


Ready to discuss your next project? Drop me a message.