Check out a free preview of the full Intermediate React Native, v2 course

The "Development Builds" Lesson is part of the full, Intermediate React Native, v2 course featured in this preview video. Here's what you'd learn in this lesson:

Kadi explains that Expo Go allows mobile developers to get up and running quickly. However, not all native device capabilities are available in Expo Go. A development build must be used to create the entire native app experience.

Preview
Close

Transcript from the "Development Builds" Lesson

[00:00:00]
>> Kadi Kraman: So, so far we have been building in Expo Go. This is actually a pretty common workflow. So when you start your new app, you open it in Expo Go because you can get started instantly. You might install some libraries and then build some UI. And sooner or later, and usually it's sooner, you might want to add something that isn't possible to do with Expo Go.

[00:00:23]
So recall Expo Go is a sandbox. So a React Native app consists of two parts. So we have our JavaScript bundle. So this is the thing that we're live reloading with npx-expo-start. And then we have our native app bundle. So this is the part that's actually installable on your iOS or Android phone.

[00:00:45]
So currently, our JavaScript bundle is the MPEG expert start and the native app bundle has been Expo Go. But Expo Go is a pre-built app. We've downloaded it from the App Stores, so it has a finite amount of native libraries pre-installed. Admittedly, there's quite a lot that you can do to get started with.

[00:01:10]
In fact, a good reference is if you go to the Expo docs and look at the Expo SDK, then most of these libraries are included in Expo Go. So there's quite a lot you can use to get started with. But there's also things that you can't use. So, anything that isn't already pre-bundled in Expo Go.

[00:01:30]
Also, you can't use different versions of libraries than what is available in Expo Go. You also can't use libraries like Inner Purchase or Reactive VisionCamera or analytics will be replicated firebase or quick actions because they require native configuration. And another reason why migrating off of Expert Go sooner rather than later might be useful is that on iOS you can only use the latest published Expo SDK version.

[00:02:05]
So right now we are on Expo SDK 51. So Expo Go supports exactly one SDK version. So it will be the latest. So once SDK 52 gets published, then we'll upload a new version of Expo Go to the App Stores. And it will only load projects that are using Expo SDK 52.

[00:02:30]
So if you are using Expo Go for development, that means that you would need to immediately upgrade your app in order to continue developing on the iPhone. I say on the iPhone because we have this expert.dev/go, this little page that lets you install Expo Go for all their SDK versions.

[00:02:56]
The problem is this doesn't work on physical iOS phones. And that is another Apple restriction. Apple doesn't allow you to install arbitrary apps on your phone without going to the App Store. And you can't install all the versions of apps from the App Store. So that's why if I go to SDK 50 on iOS device, it actually tells you that it's not available.

[00:03:22]
So those are the two main restrictions of using Expo Go. And why development builds are awesome. So what is a development build? Think of it as your own customizable version of Expo Go with just native libraries installed that you actually need for your project. So, we're going to continue building the JavaScript bundle as before, but we're just swapping out the native app bundle from Expo Go to the one that we build ourselves.

[00:03:54]
I guess the important thing to mention is that you can get around building this app locally if you build in the cloud with EI. But it is really useful to just know how to build it locally. It is possible, in case you want to debug something locally or you don't have internet access.

[00:04:14]
You want to just build on a simulator or emulator or if you want to work on a native module.

Learn Straight from the Experts Who Shape the Modern Web

  • In-depth Courses
  • Industry Leading Experts
  • Learning Paths
  • Live Interactive Workshops
Get Unlimited Access Now