Expo apps are React Native apps which contain the Expo SDK. The SDK is a native-and-JS library which provides access to the device’s system functionality (things like the camera, contacts, local storage, and other hardware). That means you don’t need to use Xcode or Android Studio, or write any native code, and it also makes your pure-JS project very portable because it can run in any native environment containing the Expo SDK.
Expo also provides UI components to handle a variety of use-cases that almost all apps will cover but are not baked into React Native core, e.g. icons, blur views, and more.
Finally, the Expo SDK provides access to services which typically are a pain to manage but are required by almost every app. Most popular among these: Expo can manage your Assets for you, it can take care of Push Notifications for you, and it can build native binaries which are ready to deploy to the app store.
Considering using Expo?
If you’d like an overview of what Expo offers, you might want to familiarize yourself with the lifecycle of an Expo project, which describes how you go from square one to a production iOS and Android app.
For further explanation, it’s also good to check out the Frequently Asked Questions.
Ready to get started?
Head over to Installation to grab our tools and have a look around.
Make your first project by following the Up and Running guide.
If you’re not already familiar with React and React Native, you can bootstrap your knowledge with React Native Express.
Join our Community and let us know what you’re working on!
Still have questions? Ask on our forums!