Welcome to the documentation for Expo
-- a set of tools, libraries and services you can use to build native iOS and Android apps faster than ever before!
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.
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.
Head over to Installation
to grab our tools and have a look around.
If you're not already familiar with React and React Native, you can bootstrap your knowledge with React Native Express
For hands-on React Native projects from beginner to advanced, check out Fullstack React Native
, a (paid) book by the author of React Native Express.
Join our Community
and let us know what you're working on!