Skip to main content
React Logo

React Native

Learn once, write anywhere.

Create native apps for Android, iOS, and more using React

React Native combines the best parts of native development with React, a best-in-class JavaScript library for building user interfaces.

Use a little—or a lot. You can use React Native today in your existing Android and iOS projects or you can create a whole new app from scratch.

Written in JavaScript—rendered with native code

React primitives render to native platform UI, meaning your app uses the same native platform APIs other apps do.

Many platforms, one React. Create platform-specific versions of components so a single codebase can share code across platforms. With React Native, one team can maintain multiple platforms and share a common technology—React.

import React from 'react';
import {Text, View} from 'react-native';
import {Header} from './Header';
import {heading} from './Typography';

const WelcomeScreen = () => (
<View>
<Header title="Welcome to React Native"/>
<Text style={heading}>Step One</Text>
<Text>
Edit App.js to change this screen and turn it
into your app.
</Text>
<Text style={heading}>See Your Changes</Text>
<Text>
Press Cmd + R inside the simulator to reload
your app’s code.
</Text>
<Text style={heading}>Debug</Text>
<Text>
Press Cmd + M or Shake your device to open the
React Native Debug Menu.
</Text>
<Text style={heading}>Learn</Text>
<Text>
Read the docs to discover what to do next:
</Text>
</View>
);

Native Development For Everyone

React Native lets you create truly native apps and doesn't compromise your users' experiences. It provides a core set of platform agnostic native components like View, Text, and Image that map directly to the platform’s native UI building blocks.

Seamless Cross-Platform

React components wrap existing native code and interact with native APIs via React’s declarative UI paradigm and JavaScript. This enables native app development for whole new teams of developers, and can let existing native teams work much faster.
App.jsHeader.ios.jsHeader.android.jsBody.jsImageTextTextTextTextText

Fast Refresh

See your changes as soon as you save. With the power of JavaScript, React Native lets you iterate at lightning speed. No more waiting for native builds to finish. Save, see, repeat.

Talks and Videos

Members of the React Native team frequently speak at various conferences.

You can follow the latest news from the React Native team on Twitter

The Meta Open Source team has put together a short overview of React Native, where they explained the project in beginner's terms.

Facebook Supported, Community Driven

Facebook released React Native in 2015 and has been maintaining it ever since.

In 2018, React Native had the 2nd highest number of contributors for any repository in GitHub. Today, React Native is supported by contributions from individuals and companies around the world including Callstack, Expo, Infinite Red, Microsoft and Software Mansion.

Our community is always shipping exciting new projects and exploring platforms beyond Android and iOS with repos like React Native Windows, React Native macOS and React Native Web.

React Native is being used in thousands of apps, but it's likely you've already used it in one of these apps:

  • Facebook
  • Oculus
  • Messenger Desktop
  • Microsoft Office
  • Microsoft Outlook
  • Microsoft Teams
  • Xbox Game Pass
  • Skype
  • Shopify
  • Shop: All your favorite brands
  • Coinbase
  • PUMA
  • PlayStation App
  • WordPress - Website Builder
  • Tableau
  • FlipKart
  • Mercari
  • Discord
  • Bloomberg
  • Pinterest
  • Tesla
  • Walmart Shopping & Grocery
  • Tencent QQ
  • Mattermost
  • NFL

and many more.

Give it a try

  1. Run this

    npx react-native init MyTestApp
  2. Read these

    Get startedLearn the basics