In addition to React Native components, you'll have access to the Expo SDK, a library that provides a wide variety of native APIs on iOS and Android. Expo can also manage your assets for you, take care of push notifications, and build your final native binary for submission to the app store.
Access the device accelerometer sensors to respond to changes in device motion in 3d space.
Enable log in with the Facebook and Google native SDKs, or support any browser-based auth flow.
Stream a preview of the device Camera capture, save photos, and configure hardware parameters like focus and white balance.
Save and read assets, documents, and other data your users need.
Import and manipulate photos and videos stored on the device, including the shared camera roll.
Build location-aware apps by polling for the current device location or subscribing to location updates.
Expo includes a WebGL-compatible API called EXGL. Drop in popular JS graphics libraries like THREE.js and take advantage of truly native graphics.
Send and receive cross-platform push notifications with a few lines of JS.
Advanced users can initialize a bare React Native project and write their own custom native code.
See the full list of native APIs in our docs, including Maps, SQLite, Contacts, Secure Storage, and many more.
Unify your team, your workflow, and your codebase around one project.
Write React components in JS, render native components on both iOS and Android.
Maintain product parity on both platforms.
Expo projects are React Native projects.
Take advantage of powerful developer tools like Remote Debugging and Hot Module Reloading.
Participate in a growing open source community.
Build native binaries with our build service.
No need to use Xcode or Android Studio.
Publish updates over the air whenever you want.
Dive in and create your first Expo project.