Set up an existing Expo Go project to use Development Builds.
Expo Go is a Sandbox Environment designed for learning prototyping and getting started with mobile development quickly. The major limitation of Expo Go is that you are completely unable to add or edit any native code in your app. This might be a trivial limitation at the start of your project when you're prototyping and experimenting, but most production quality apps will eventually need to have more control over their native app bundles.
This is where development builds come in. A development build is basically your own customised version of Expo Go: you build the native side of your app yourself and get to have all the control over what libraries and configurations are included.
Thanks to CNG (with prebuild) the native projects are generated automatically based off of your app config and package.json.
๐ Expo Go
๐ Development Builds
[00:00] We now have our React Native app and it's running inside Expo Go. This is why our little app is able to run on emulators, simulators, iOS and Android devices with only a few minutes of setup because we're loading in the JavaScript bundle into a native sandbox that is Expo Go. Expo Go is [00:20] really great for learning, experimenting, and getting your project started quickly. However, it does come with restrictions. Namely, that as a sandbox environment, it only comes prepackaged with a discrete set of native SDKs, and you won't be able to use any native code outside of these. While it is possible to build your whole [00:40] app using Expo Go, it's not really recommended for production quality apps. Instead, you should convert your Expo Go app into a development build. One way of thinking about development builds is that you're creating your own customized version of expo go, prepackaged with only the libraries that you actually need. In development [01:00] builds we use continuous native generation to generate the native iOS and Android projects using prebuilt. At this point let's also update the app icons and splash screens to use custom ones. This step isn't really necessary at this point but I think it makes the app look more fun. Let's also update the app name in [01:20] your app dot JSON. The name here will be what is displayed on the user's phone. I'm going to call mine plants. And a slug is just a friendly name used by EAS. Now let's open the terminal and install the expert dev client with yarn add expert dev client. The [01:40] most straightforward way to build your app now is using the e a s c l I, which we'll get to in the next lesson.
Member comments are a way for members to communicate, interact, and ask questions about a lesson.
The instructor or someone from the community might respond to your question Here are a few basic guidelines to commenting on egghead.io
Be on-Topic
Comments are for discussing a lesson. If you're having a general issue with the website functionality, please contact us at support@egghead.io.
Avoid meta-discussion
Code Problems?
Should be accompanied by code! Codesandbox or Stackblitz provide a way to share code and discuss it in context
Details and Context
Vague question? Vague answer. Any details and context you can provide will lure more interesting answers!