# facebook/react-native

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/facebook-react-native).**

126,019 stars · 25,179 forks · C++ · MIT

## Links

- GitHub: https://github.com/facebook/react-native
- Homepage: https://reactnative.dev
- awesome-repositories: https://awesome-repositories.com/repository/facebook-react-native.md

## Topics

`android` `app-framework` `cross-platform` `ios` `mobile` `mobile-development` `react` `react-native`

## Description

This project is a cross-platform mobile framework that enables the development of native iOS and Android applications from a single codebase. It utilizes a declarative component-based model where developers define user interfaces using a syntax extension that maps directly to underlying platform-native view primitives. By decoupling application logic from the host platform's main thread, the framework maintains a consistent native view hierarchy while ensuring that JavaScript execution remains independent of UI rendering.

The framework distinguishes itself through a robust bridge architecture that serializes updates and events over a message bus, facilitating two-way communication between the JavaScript runtime and native host components. It includes a specialized build-time toolchain that generates type-safe glue code, allowing for the seamless integration of custom native modules. Developers can further refine platform-specific behavior by utilizing file-extension-based resolution, which automatically selects the appropriate implementation for the target operating system during the build process.

Beyond its core rendering capabilities, the project provides a comprehensive suite of tools for managing application state, styling layouts, and optimizing performance for large datasets through virtualized list rendering. It supports deep integration with native mobile features, including hardware-level APIs and accessibility services, ensuring that applications can adapt to system-level preferences and assistive technologies. The framework also includes built-in developer utilities for real-time performance monitoring, debugging, and testing across the entire application lifecycle.

## Tags

### Development Tools & Productivity

- [Mobile Development Frameworks](https://awesome-repositories.com/f/development-tools-productivity/platforms-runtimes-language-services/development-platforms/mobile-wearable-ecosystems/mobile-development-frameworks.md) — Enables the development of native iOS and Android applications from a single codebase using a declarative interface model.
- [Debugger Interfaces](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/debugging-inspection-tools/debugger-interfaces.md) — Facilitates code inspection, log viewing, and component profiling through integrated debugging and diagnostic panels. ([source](https://reactnative.dev/docs/debugging))
- [In-App Debugging Consoles](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/in-app-debugging-consoles.md) — Offers an in-app console for viewing logs, warnings, and stack traces to accelerate the debugging process. ([source](https://reactnative.dev/docs/debugging))
- [Performance Overlays](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/performance-resource-profilers/performance-overlays.md) — Displays real-time performance metrics, including frame rates and resource utilization, directly within the application during development. ([source](https://reactnative.dev/docs/debugging))
- [Native UI Integration Modules](https://awesome-repositories.com/f/development-tools-productivity/platforms-runtimes-language-services/development-platforms/mobile-wearable-ecosystems/mobile-development-frameworks/native-ui-integration-modules.md) — Allows the embedding of framework-driven interface components into existing native mobile application codebases.

### Mobile Development

- [App Frameworks](https://awesome-repositories.com/f/mobile-development/cross-platform-frameworks/app-frameworks.md) — Supports the creation of native mobile applications for multiple platforms from a unified codebase.
- [Mobile Capabilities](https://awesome-repositories.com/f/mobile-development/mobile-capabilities.md) — Integrates native-rendered UI elements into mobile applications by bridging web-based logic with platform-specific view layers. ([source](https://reactnative.dev/docs/integration-with-existing-apps))
- [Android Platform Integrations](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-platform-integrations.md) — Provides direct access to system-level hardware features, notification services, and navigation patterns for deep integration with the operating system. ([source](https://reactnative.dev/docs/components-and-apis))

### Programming Languages & Runtimes

- [JavaScript Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/javascript-runtimes.md) — Executes application logic within optimized environments to maintain consistent behavior across different mobile platforms. ([source](https://reactnative.dev/docs/javascript-environment))
- [JavaScript-to-Native Bridges](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/interoperability/javascript-to-native-bridges.md) — Coordinates two-way data flow between JavaScript components and host-platform native UI widgets.
- [Asynchronous Bridge Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtimes/asynchronous-execution-engines/asynchronous-bridge-runtimes.md) — Runs application logic within an optimized, isolated environment that remains independent of the host platform's main UI thread.

### Software Engineering & Architecture

- [Declarative UI Patterns](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/declarative-ui-patterns.md) — Implements a paradigm where interfaces are composed from reusable components and state changes are automatically reconciled into rendered output.
- [Declarative Reconciliation Engines](https://awesome-repositories.com/f/software-engineering-architecture/execution-control/declarative-reconciliation-engines.md) — Maps state-driven UI descriptions to efficient updates of underlying host-platform widgets to maintain a consistent view hierarchy.
- [Asynchronous Bridge Communications](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/reactive-messaging/communication-integration-patterns/asynchronous-bridge-communications.md) — Decouples application logic from native host threads by serializing events and UI updates over an asynchronous message bus.
- [Multiplatform Code Sharing](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-development/multiplatform-code-sharing.md) — Utilizes platform-specific file extensions to share logic across native environments while maintaining distinct implementations where necessary. ([source](https://reactnative.dev/docs/platform-specific-code))

### User Interface & Experience

- [HTML Element Wrappers](https://awesome-repositories.com/f/user-interface-experience/component-architectures/html-element-wrappers.md) — Exposes core interface building blocks like views, text, and images that respond to user touch and input events. ([source](https://reactnative.dev/docs/components-and-apis))
- [Declarative UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/rendering-models/declarative-frameworks/declarative-ui-frameworks.md) — Constructs complex user interfaces using a component-based model that maps declarative descriptions to native platform view primitives.
- [Native UI Primitives](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/rendering-models/native-ui-primitives.md) — Bundles essential UI components that map directly to platform-specific native implementations for layout, text, and input. ([source](https://reactnative.dev/docs/intro-react-native-components))
- [Declarative Component Definitions](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/rendering-models/ui-component-models/declarative-component-definitions.md) — Defines reusable UI components as functions that return elements, enabling the construction of complex interfaces through modular composition. ([source](https://reactnative.dev/docs/intro-react))
- [JSX Syntax Extensions](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/rendering-models/jsx-syntax-extensions.md) — Embeds JavaScript expressions and variables directly into UI markup to render dynamic content within component templates. ([source](https://reactnative.dev/docs/intro-react))
- [Component Data Passing](https://awesome-repositories.com/f/user-interface-experience/component-architectures/component-communication-patterns/component-data-passing.md) — Customizes component behavior and appearance by passing data through properties to create flexible UI elements. ([source](https://reactnative.dev/docs/intro-react))
- [List Virtualization](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/list-virtualization.md) — Optimizes performance by implementing layout measurement strategies and specialized components to render large datasets efficiently. ([source](https://reactnative.dev/docs/performance))
- [Declarative Styling Engines](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/content-styling/styling-architectures/styling-systems/inline-and-object-styling/declarative-styling-engines.md) — Translates CSS-like styling rules into native layout instructions to maintain visual consistency across diverse mobile platforms. ([source](https://reactnative.dev/docs/components-and-apis))
- [Virtualized Lists](https://awesome-repositories.com/f/user-interface-experience/virtualized-lists.md) — Maintains high performance and low memory overhead by rendering only the list items currently visible within the viewport.
- [Mobile Accessibility Support](https://awesome-repositories.com/f/user-interface-experience/graphical-user-interfaces/accessibility/mobile-accessibility-support.md) — Queries system-level accessibility settings to ensure inclusive experiences for users relying on screen readers.

### Web Development

- [Component State Management](https://awesome-repositories.com/f/web-development/frontend-development-tools/state-data-management/component-lifecycle-utilities/component-state-management.md) — Tracks and updates internal component data in response to user interactions using specialized hooks. ([source](https://reactnative.dev/docs/intro-react))

### DevOps & Infrastructure

- [Compile-Time Code Generators](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-toolchains/compile-time-code-generators.md) — Automates the creation of type-safe native bindings from interface definitions to link application logic with platform-specific modules.
- [Platform-Specific Source Resolution](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-tooling/build-configuration-governance/platform-specific-source-resolution.md) — Separates platform-specific logic into distinct files using extensions to automatically load the correct implementation during the build process. ([source](https://reactnative.dev/docs/platform-specific-code))
- [Native Glue Code Generators](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-tooling/native-build-orchestrators/native-glue-code-generators.md) — Produces native C++, Java, or Objective-C++ code from typed specifications to bridge custom modules during the build phase. ([source](https://reactnative.dev/docs/the-new-architecture/what-is-codegen))
- [Platform-Specific Resolution Strategies](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-toolchains/platform-specific-resolution-strategies.md) — Resolves source files based on target operating system extensions to ensure the correct platform-specific assets are bundled during compilation.
- [Syntax Transformers](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-tooling/code-transformation-engines/syntax-transformers.md) — Transpiles modern JavaScript syntax into compatible code to support advanced language features without requiring native engine updates. ([source](https://reactnative.dev/docs/javascript-environment))

### Operating Systems & Systems Programming

- [Native UI Bindings](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-abstractions/native-interoperability-bindings/native-ui-bindings.md) — Displays native platform-specific components to maintain a consistent look and feel within the host operating system. ([source](https://reactnative.dev/docs/components-and-apis))

### Part of an Awesome List

- [Core Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/core-frameworks.md) — Framework for building native mobile applications using hook-based patterns.
- [Cross-Platform Development](https://awesome-repositories.com/f/awesome-lists/devtools/cross-platform-development.md) — Framework for native apps using React.
- [Cross Platform Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/cross-platform-frameworks.md) — Framework for building native apps using JavaScript and React.
- [Desktop and Mobile Apps](https://awesome-repositories.com/f/awesome-lists/devtools/desktop-and-mobile-apps.md) — Framework for building native apps using React.
- [Developer Tools](https://awesome-repositories.com/f/awesome-lists/devtools/developer-tools.md) — Reference implementation for testing views and modules.
- [Frameworks and Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/frameworks-and-libraries.md) — Framework for building native mobile apps using React.
- [Web Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/web-frameworks.md) — A framework for building native apps with React.

### Testing & Quality Assurance

- [Mobile End-to-End Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/e2e-integration-testing/mobile-end-to-end-testing.md) — Automates user journeys on physical devices or simulators to confirm that core application functionality remains intact. ([source](https://reactnative.dev/docs/testing-overview))
- [UI](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/ui.md) — Verifies user interface interactions and component states through automated assertions to ensure visual and functional consistency. ([source](https://reactnative.dev/docs/testing-overview))

### System Administration & Monitoring

- [Frame Rate Monitors](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/performance-resource-management/frame-rate-monitors.md) — Monitors frame rates across both JavaScript and UI threads to pinpoint performance bottlenecks. ([source](https://reactnative.dev/docs/performance))
