Build an iOS and Android app from a single JavaScript codebase instead of maintaining two separate native projects.
Ship mobile app updates in seconds using live reload while developing, without rebuilding the native app each time.
Access native platform features like camera, location, and notifications directly from JavaScript.
Reuse React knowledge and component patterns to build mobile UIs instead of learning platform-specific languages.
Requires Node.js, native build tools (Xcode for iOS, Android SDK/NDK for Android), and platform-specific setup.
React Native is a framework for building real mobile apps for iPhone and Android using the same component-based style of writing code that React uses on the web. The README's tagline summarizes it as Learn once, write anywhere: build mobile apps with React. Instead of producing a website wrapped inside an app, React Native renders actual native UI controls, so the buttons, lists, and screens you see are the platform's real widgets and you have full access to native platform features. The README highlights four ideas behind the project. It is declarative, meaning you describe what the screen should look like at a given moment and the framework figures out the rendering. It is component-based, so you build small encapsulated pieces that manage their own state and combine them into bigger interfaces. It optimizes for developer velocity, with local changes to JavaScript appearing in seconds via live reload, without having to rebuild the whole native app. And it is portable, with the same code reused across iOS, Android, and other supported platforms. The README states that React Native apps can target iOS 15.1 and Android 7.0 or newer, and that you can develop on Windows, macOS, or Linux, though building and running iOS apps requires macOS unless you use a tool like Expo. Getting started, integrating into an existing app, upgrading to newer versions, and contributing back are all covered through links in the README that point to the project's main documentation site. You would use React Native when you want one team and one codebase to ship apps to both iOS and Android instead of maintaining two separate native projects. The project is MIT licensed.
Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.