Skip to content

Guide · Open source

How to use React Native: install, build and run an app

Updated · written with AI from the project's own documentation and checked against our catalogue data

React Native is an open-source framework from the react/react-native project for building native Android and iOS apps using React. It is written in JavaScript, but the interface is rendered with native platform code. This guide explains how to start a project, what you need installed, and what to expect from the development workflow.

React Nativereact/react-native · ★ 127k · MIT

Quick start

  1. 1Install prerequisites. Install Node.js, plus Android Studio for Android or Xcode for iOS, depending on your target.
  2. 2Create a project. Run npx create-expo-app@latest in your terminal to generate a new Expo project.
  3. 3Follow the Expo setup guide. Use Expo's getting started guide to configure your environment and run the app.
  4. 4Edit JavaScript. Change your React components and watch updates appear through Fast Refresh without rebuilding the native app.
  5. 5Add native features. Use Native Modules when you need to call platform code from JavaScript.
  6. 6Read the docs. Use the official documentation for components, styling, debugging and upgrades.

What React Native is and who it suits

React Native lets you build native apps using React. Your code is written in JavaScript, and React Native primitives render to native platform UI, so the app uses the same native platform APIs as other apps.

It fits web developers who already know React, teams that need one codebase for both Android and iOS, and projects that need platform APIs through Native Modules. It is not a fit for people who only want websites, or for developers who want to avoid JavaScript and native toolchains entirely.

  • Good fit: web developers who know React and want mobile apps
  • Good fit: teams that want one codebase for Android and iOS
  • Good fit: projects that need platform APIs via Native Modules
  • Poor fit: website-only projects
  • Poor fit: teams that cannot take on native Android and iOS setup work

What you need before you install

The prerequisites are Node.js and either Android Studio or Xcode, depending on which platform you are targeting. Android Studio is for Android and Xcode is for iOS.

The README points to the official environment setup guide for the full list of requirements for your operating system.

  • Node.js
  • Android Studio (for Android)
  • Xcode (for iOS)

Create your first app with Expo

The README recommends starting a new project with Expo, a production-grade React Native framework that adds file-based routing and a standard library of native modules. To create a project, run the following command in your terminal.

After the project is created, follow the rest of Expo's getting started guide to start building.

npx create-expo-app@latest

Start without a framework if you prefer

You can use React Native without a framework. The README notes that most developers benefit from one, because navigation, native dependencies and platform tooling are already handled by the ecosystem.

If no framework suits your app, follow the Getting Started Without a Framework guide in the official documentation.

Know how the development loop works

React Native supports Fast Refresh. Changes to JavaScript code are applied without rebuilding the native app, which gives quick feedback while you edit.

Native Modules let you call platform code directly from JavaScript. For existing apps, the docs cover integration with existing apps as an incremental route.

  • Fast Refresh applies JavaScript edits without a native rebuild
  • Native Modules expose platform code to JavaScript
  • Use the official docs for debugging and upgrading

Find the documentation and community resources

The full documentation is on the official React Native website. Key sections include Getting Started, Learn the Basics, Components and APIs, UI & Interaction, Native Modules, Debugging, Upgrading and Architecture.

For discussions, the project uses separate repositories for larger proposals and for release discussions. The contributing guide explains how to propose fixes and build and test changes to core.

  • Getting Started and Learn the Basics tutorials on reactnative.dev
  • Contributing guide for core changes
  • Community discussion repositories listed in the README

What people use it for

  • Building an Android and iOS app from one shared JavaScript codebase
  • Adding mobile screens to a team that already builds React web apps
  • Calling platform APIs through Native Modules from JavaScript
  • Using Fast Refresh to iterate quickly on UI changes

Frequently asked questions

Is React Native free to use?

React Native is MIT licensed, as stated in its LICENSE file. The MIT license permits use, and the README describes it as open source.

What do I need to install React Native?

The prerequisites are Node.js and either Android Studio or Xcode, depending on the platform you target. The README recommends creating a project with npx create-expo-app@latest.

Should I use Expo with React Native?

The README recommends Expo as a React Native framework with file-based routing and a standard library of native modules. You can also use React Native without a framework by following the official guide.

Can I use React Native to build websites?

No. The project targets native mobile apps for Android, iOS and other platforms, so it is not intended for websites only.

How does React Native compare to Flutter?

The source lists Flutter as a comparable project but does not compare features or performance. Choose based on whether you want to use React and JavaScript, or a different language and toolkit.

What are the alternatives to React Native?

The README lists Flutter, Kotlin Multiplatform, NativeScript and Capacitor as comparable projects. Each has different languages and tooling, so check their documentation against your needs.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

React Native suits web developers who know React and need Android and iOS apps from one JavaScript codebase. It is a weaker choice if you want to avoid JavaScript or cannot handle native Android and iOS toolchain setup.

Install options & downloads