What it is
EAS, short for Expo Application Services, is Expo's hosted build and release service for React Native apps. The eas command line tool starts cloud builds for iOS and Android, submits finished builds to the App Store and Google Play, and can push over-the-air updates to JavaScript code without a new store release.
Builds are described in an eas.json file with profiles for development, preview and production, so the same command produces the same kind of build every time. Signing credentials can be managed by Expo, which takes much of the pain out of iOS certificates and provisioning profiles. Build logs and artefacts are kept in the Expo dashboard.
How I use it
- Xcode and Expo builds for the phone apps run from my terminal.
- The Rental Pilot field app runs on iOS and Android and is on the App Store.
- The field app works offline and syncs when back in range: photos, signatures, timesheets and clock-in, fuel logging, chat and push notifications.
- It is kept at feature parity with the web app, so builds follow the web closely.
EAS is the right tool when a React Native app has to ship to both stores regularly without a dedicated build server. I reach for it because the field app has to keep pace with the web app, and a scripted build and submit keeps a release from depending on one machine's setup.
Questions
Can Shawn Mervin build a React Native app for iOS and Android?
Yes. Rental Pilot's field app is React Native, runs on iOS and Android, works offline and is on the App Store.
Why use Expo EAS instead of building on a local Mac?
EAS runs the build the same way every time from a profile and handles signing, so a release does not depend on one machine's setup.