Over five years ago, the Expo team launched expo build, a way to take an Expo project in development and turn it into a standalone app to submit to the app stores. Since then, developers have used expo build for millions of successful builds across 32 SDK releases, and we open-sourced its local version called Turtle CLI, a way to run builds on your own hardware.
At the same time, we’ve been working to support custom native code in Expo apps. Several feature requests for the general Expo workflow stemmed from one fundamental limitation: the need for custom native code. This project was a broad undertaking across the workflow that we shared in a two-part blog post (part 1, part 2), and we’re really happy Expo now supports custom native code. Another benefit of modern Expo apps is that they sometimes are 10x smaller than ones built with expo build.
However, when we wrote expo build five years ago, we designed it for how Expo apps worked back then: each app included all of the native modules in the Expo SDK and there was no way to fully customize the app’s native code. We needed a new build service to support building modern Expo apps with custom native code in the cloud. This service became EAS Build, a big part of Expo Application Services (EAS), which we fully released earlier this month. Developers have already created over 100,000 successful builds with EAS Build since it was available in preview.