Project Lifecycle
Creating an Expo Project
You can create a new Expo project with only our desktop tool and a text editor. Expo apps are React Native apps. You can convert an existing React Native app or use a project that was generated by create-react-native-app.
Developing Locally
When you work on an Expo project, we serve an instance of your project from your local computer. If you close the project or turn off your computer, your development project stops being served.
During this time, you test your project using a pre-built ios/Android app called Expo Client. It ask your computer for a local copy of your project (via localhost, LAN, or a tunnel), downloads it, and runs it You can take advantage of various development tools such as debugging, streaming device logs, inspecting elements, hot module reloading, and more.
Publishing your project
If you click Publish button in XDE, we upload a minified copy of your app to our CDN, and give you a shareable url of the form
expo.io/@your-username/your-app-slug.
You can share this link immediately with anybody who has the Expo Client app.
Updating your app
Any time you Publish changes to your app, your new version becomes available immediately to anybody with the link.
We frequently releases updates to the Expo SDK. Each update includes instructions for how to upgrade your project. If you decide to update to a newer version of our SDK, copies of the older version will continue to work fine. Users will download the newest copy that their client supports.
Deploying to the Apple App Store and Google Play
Expo can generate deployment-ready .ipa and .apk archives which are ready to submit to Apple and Google. So you don't need any Apple or Google software.
Changing Native Code
If you run into special advance needs which aren't covered by Expo, we provide the ability detach to ExpoKit, which is a native Xcode and Android Studio representation of your Expo project.
Note: if you choose to detach to ExpoKit, some Expo services are no longer available. For example, we can't generate standalone builds for you any more. You'll need to manage the native builds yourself.