--- title: Overview hideTOC: true description: An overview of bare React Native apps with Expo tools. --- import { BoxLink } from '~/ui/components/BoxLink'; import { Terminal } from '~/ui/components/Snippet'; import { DEMI, CODE } from '~/ui/components/Text'; 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](/workflow/configuration/) and [prebuild](/workflow/prebuild). All tools and services offered by Expo including [EAS](/eas), Expo CLI, and the libraries in the Expo SDK, are built around bare React Native apps. ## Prerequisites Before you get started with a React Native app, make sure you have set up your developer environment from [React Native](https://reactnative.dev/docs/environment-setup). ## Get started To bootstrap a new React Native project, use `create-expo-app` and run the following command: > If you have an existing project or want to bootstrap with `npx react-native init`, then you need to [install the `expo` package](/bare/installing-expo-modules) manually. Navigate into your project directory, and run the following commands to build the app locally for each platform: > Learn more about [compiling native apps](/more/expo-cli/#compiling). ## Next steps If you have already initialized a React Native app without create-expo-app, learn how to install the Expo module library. } href="/bare/installing-expo-modules" /> Automate your native directories using the app.json. } href="/guides/adopting-prebuild" />