Skip to main content

React Native

React Native is a popular development framework for creating mobile apps using React and Javascript. React Native allows developers who know React to create native apps. At the same time, native developers can use React Native to gain parity between native platforms by writing common features once.

We believe that the best way to experience React Native is through a Framework, a toolbox with all the necessary APIs to let you build production ready apps.

You can also use React Native without a Framework, however we’ve found that most developers benefit from using a React Native Framework like Expo. Expo provides features like file-based routing, high-quality universal libraries, and the ability to write plugins that modify native code without having to manage native files.

Start a new React Native project with Expo

Expo is a production-grade React Native Framework. Expo provides developer tooling that makes developing apps easier, such as file-based routing, a standard library of native modules, and much more.

Expo's Framework is free and open source, with an active community on GitHub and Discord. The Expo team works in close collaboration with the React Native team at Meta to bring the latest React Native features to the Expo SDK.

The team at Expo also provides Expo Application Services (EAS), an optional set of services that complements Expo, the Framework, in each step of the development process.

To create a new Expo project, run the following in your terminal:

npx create-expo-app@latest

Once you’ve created your app, check out the rest of Expo’s getting started guide to start developing your app.

More Resources

There’s always more to learn: developer workflows, shipping to app stores, internationalization, security and more.

Dive deep

IDEs

We recommend using the VS Code code editor and its handy React Native tools.

Platforms to try

Expo is a framework of tools and services for React Native that focuses on helping you build, ship, and iterate on your app, to use preview deployment workflows that are popular with web development, and to automate your development workflows. Expo also makes it possible to build React Native apps without ever touching Xcode or Android Studio, and it doesn't get in the way if you want to use those tools.

Ignite is a starter kit CLI with several React Native boilerplates. The latest, Ignite Maverick, uses MobX-State-Tree for state management, React Navigation, and other common libraries. It has generators for screens, models, and more, and supports Expo out of the box. Ignite also comes with a component library that is tuned for custom designs, theming support, and testing. If you are looking for a preconfigured tech stack, Ignite could be perfect for you.

Example Apps

Try out apps from the Showcase to see what React Native is capable of! Looking for something more hands on? Check out this set of example apps on GitHub. You can look at their source code—try running one on a simulator or device.

React Native has a community of thousands of developers like you making content, tools, tutorials—and Native Components!

Can’t find what you’re looking for in the Core Components? Visit React Native Directory to find what the community has been creating.

caution

This documentation references a legacy set of API and needs to be updated to reflect the New Architecture

For dApp development using the React Native framework, we recommend referring to https://reactnative.dev/docs/getting-starte