Skip to content

React Native

A framework for building native Android and iOS apps using React and JavaScript.

Stars
127k
Forks
25.5k
Licence
MIT
Language
C++
Last update
4 days ago
Type
Framework

What it is

React Native lets developers build apps for Android, iOS and other platforms using React, a popular JavaScript UI library. The code is written in JavaScript but the interface is drawn with the platform's own native UI elements. Developers use it to share most of their code across platforms instead of writing separate apps in each platform's own language.

  • Build a new Android and iOS app from one JavaScript and React codebase
  • Add React Native screens incrementally to an existing native app
  • Call platform-specific code directly from JavaScript through Native Modules
  • Use existing community libraries listed in the React Native directory

Great for

  • Web developers who already know React and want to build mobile apps
  • Teams that need one codebase for both Android and iOS
  • Developers who want quick feedback through Fast Refresh while editing JavaScript
  • Projects that need access to platform APIs through Native Modules

Not ideal for

  • People who only want to build websites, since this targets native mobile apps
  • Developers who need to write everything in one native language and avoid JavaScript
  • Teams that cannot take on the setup work of native Android and iOS toolchains
Step-by-step guide: how to use React NativeInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Node.js · Android Studio or Xcode, depending on target platform

    Create a new Expo project (recommended by the README)

    npx create-expo-app@latest
  2. 2

    Run it

    • Follow the Expo getting started guide linked in the README to set up your environment
    • Run the create command to generate a new project
    • Open the project in a simulator or device and start editing the JavaScript code
    • Watch changes appear through Fast Refresh
  3. 3

    Get the most out of it

    • Use a framework such as Expo for routing, native modules and platform tooling, as the README suggests
    • Browse the React Native directory for existing libraries before writing native code
    • Read the Native Modules documentation to call platform code from JavaScript
    • Follow the official upgrading guide when moving between versions

Downloads

Strengths

  • Native UI rendering, so apps use the same platform APIs as other native apps
  • Fast Refresh applies JavaScript changes without rebuilding the native app
  • Large ecosystem and documentation, with an MIT license

Trade-offs

  • Requires working knowledge of React and JavaScript, plus native tooling for Android and iOS
  • The README recommends using a framework such as Expo for most apps, which adds another layer to learn
  • Some native-level problems still need platform-specific knowledge

How it compares

ProjectStarsTypeLevelUpdatedBest for
react-native (this)127kFrameworkintermediate4 days agoWeb developers who already know React and want to build mobile apps
NativeScript25.7kFrameworkintermediate4 days agoJavaScript or TypeScript developers who want to build native iOS or Android apps
capacitor17kDev toolintermediate7 days agoWeb developers who already have a modern web app and want it in the app stores
expo53.3kFrameworkintermediate4 days agoDevelopers who want to build iOS and Android apps with React and JavaScript
react-native-elements25.9kLibraryintermediate6 months agoReact Native developers who want ready-made UI components
framework718.8kFrameworkintermediate6 days agoDevelopers who already know HTML, CSS and JavaScript and want to build mobile-style apps

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.