Bare React Native: Overview

An overview of bare React Native apps with Expo tools.

A bare React Native app is a project where developers make direct changes to their native android and ios project directories rather than continuously generating them on demand using app config and prebuild. All tools and services offered by Expo including EAS, Expo CLI, and the libraries in the Expo SDK, are built around bare React Native apps.


Before you get started with a React Native app, make sure you have set up your developer environment from React Native.

Get started

To bootstrap a new React Native project, use create-expo-app and run the following command:

# Create a new bare project
npx create-expo-app --template bare-minimum

If you have an existing project or want to bootstrap with npx react-native init, then you need to install the expo package manually.

Navigate into your project directory, and run the following commands to build the app locally for each platform:

# Build your native Android project
npx expo run:android

# Build your native iOS project
npx expo run:ios

Learn more about compiling native apps.

Next steps

Install Expo modules

If you have already initialized a React Native app without create-expo-app, learn how to install the Expo module library.

Install libraries

Learn how to install and configure native libraries.

Use Expo SDK

Start adding features to your app.

Adopt Prebuild

Automate your native directories using the app.json.

App distribution

Build and submit your app to the app store with a single command.