About this project

React Native is a framework for building native applications using React. It is written in JavaScript and rendered with native code, following the idea of "learn once, write anywhere": create native apps for Android, iOS and other platforms using React. Key capabilities described in the project: - Native UI. React Native primitives render to native platform UI, so an app uses the same native platform APIs other apps use. Gestures, text scaling and accessibility behave the way users expect on each operating system. - React everywhere. Declarative UI, components, hooks and Suspense are reused across Android, iOS and out-of-tree platforms. - Development velocity. Local changes appear in seconds; changes to JavaScript code are applied with Fast Refresh without rebuilding the native app. - Extensibility. Native Modules let developers call platform code directly from JavaScript, synchronously and type-safe, or draw on thousands of existing libraries listed in the React Native directory. The project states that it is developed and supported by many companies and individual core contributors, with more information available on the React Foundation website. Getting started Developers new to the project can follow the Getting Started guide for a new app, or the Integration with Existing Apps guide to adopt React Native incrementally. The README recommends building through a Framework — a toolbox with the APIs needed for production-ready apps. Expo is described as a production-grade React Native Framework offering file-based routing, a standard library of native modules and more. A new Expo project is created with `npx create-expo-app@latest`, after which the Expo getting started guide is followed. React Native can also be used without a Framework, though the README notes that most developers benefit from one because navigation, native dependencies and platform tooling are problems the ecosystem has already solved; a separate guide covers that path. Documentation The full documentation lives on the project website and covers introduction, getting started, learning the basics, components and APIs, UI and interaction, native modules, debugging, upgrading and architecture. The source for the documentation and website is hosted in a separate repository, react/react-native-website. Community and contributing The main purpose of the repository is to continue evolving React Native core, and contributions of bug fixes and improvements are welcomed. The project publishes a Code of Conduct adopted by Meta, a Contributing Guide describing the development process and how to build and test changes. Larger discussions and proposals take place in the react-native-community/discussions-and-proposals repository, while releases are discussed in reactwg/react-native-releases. Support information is available in the repository's SUPPORT file. License React Native is released under the MIT license, as stated in the LICENSE file of the repository.