React Native is an open-source framework, first announced by Facebook on March 26, 2015, that lets developers build native mobile applications for iOS and Android using the React library and JavaScript. The launch post, “React Native: Bringing modern web techniques to mobile” by Facebook engineering manager Tom Occhino, framed the framework as an extension of the success React had already found on the web: forcing applications to be broken into discrete components and wrapping imperative platform APIs with a declarative one to make code more predictable.
The framework’s design philosophy is captured in the slogan that appears in its source repository: “Learn once, write anywhere.” Rather than promising a single codebase that runs identically everywhere, React Native lets developers apply the same component model and tooling across platforms while still producing genuinely native user interfaces. Unlike earlier web-based mobile approaches that render inside a WebView, React Native maps its React components onto real native UI widgets, so a list or button is the actual platform control rather than an HTML approximation.
Technically, React Native runs application logic written in JavaScript and communicates with native platform code. UI is described declaratively in React components, and the framework reconciles those descriptions into native view hierarchies. This architecture allows developers to share a large fraction of their code between iOS and Android while dropping into native modules when platform-specific capabilities are required. The same React mental model used for the DOM on the web carries over to mobile.
React Native quickly became one of the most widely adopted cross-platform mobile frameworks, used both inside Facebook (later Meta) and across the broader industry. Its open-source repository on GitHub describes it simply as “A framework for building native applications using React,” and the project has been developed in the open with substantial community contribution. Over time the architecture evolved, including a re-architecture effort to replace the original asynchronous bridge with a more direct interface between JavaScript and native code, improving performance and startup behavior.
The framework sits in a lineage that connects web technology to mobile: it reuses the React programming model born on the web and the JavaScript language, but targets the native runtimes of mobile operating systems. It became a primary reference point against which later cross-platform toolkits, including Google’s Flutter, were compared and contrasted.