What is React Native?
A 2026 explainer.
React Native is the framework Meta built so a small team can ship one JavaScript codebase and end up with a real iOS app and a real Android app. If you have ever asked “what is React Native” and walked away with a vague answer about “cross-platform,” this guide is the plain-English version: where it came from, how it actually compiles down to native code, what an Expo project looks like, and why apps like Discord and Shopify chose it over Swift and Kotlin.
Ships to iOS and Android
The default JavaScript engine since 2022
What it is
What is React Native, really?
React Native is an open-source framework, originally built inside Meta, that lets you write a mobile app in JavaScript or TypeScript and ship it as a real iOS app and a real Android app from one codebase. The name comes from React, the UI library Meta released for the web in 2013. React Native keeps the same component model, the same hooks, and the same JSX, but swaps out the browser for the phone's native UI toolkit underneath.
It was announced at React.js Conf in January 2015 and open-sourced in March of that year. The idea was simple: Meta had hundreds of React engineers, and rewriting the same features twice (once in Objective-C for iOS and once in Java for Android) was slow and expensive. React Native let one engineer ship a feature on both platforms by writing a single React component. Almost everything written about React Native since then has been a variation of that pitch.
The crucial bit, and the part people miss when they confuse it with a webview wrapper: React Native does not render HTML. A <View> on iOS is a real UIView. A <Text> on Android is a real android.widget.TextView. You get native UI, native gestures, native accessibility, and native performance, but you wrote it once, in JavaScript.
Under the hood
How JavaScript becomes a native app.
When you ship a React Native app, the binary on the phone is not just your JavaScript. It is your JavaScript bundle plus a small runtime that knows how to translate React components into platform views. The runtime has four layers worth knowing about, because they explain why React Native feels closer to a native app than a webview wrapper ever could.
- 1
Your JavaScript or TypeScript code
The top layer is the code you write: components, hooks, state, business logic. This is the same React you would write for the web, except the elements you render are View, Text, Image, and ScrollView instead of div, span, img, and overflow:auto. Most of your time as a React Native developer is spent here.
- 2
Hermes, the JavaScript engine
Hermes is the small, fast JavaScript engine Meta built for React Native. It precompiles your JavaScript into bytecode at build time, which means startup is fast and memory use is low compared to running an off-the-shelf engine like V8. Hermes became the default in React Native 0.70 and is what almost every modern React Native app ships with.
- 3
JSI, the JavaScript Interface
JSI is the layer that lets your JavaScript talk directly to the platform code on iOS and Android. The older React Native used to serialize every call across a message queue called the native bridge, which added overhead. JSI lets JavaScript hold references to native objects and call them synchronously, which makes animations smoother and modules like the camera or biometrics noticeably snappier.
- 4
Native views: the real iOS and Android UI
At the bottom is the part the user actually sees. A React Native View on iOS is a UIView. On Android it is an android.view.View. A React Native ScrollView on iOS is a UIScrollView. The framework owns the translation, which is why a React Native app gets the same scroll physics, the same keyboard behaviour, and the same accessibility plumbing as a Swift or Kotlin app.
The old bridge vs the new architecture
The original React Native architecture used a JSON-serialized message queue called the native bridge to send instructions between the JavaScript thread and the native thread. It worked, but every call paid a serialization cost. That is where the “bridge overhead” reputation came from in 2017 and 2018.
The new architecture, available in every recent version, replaces the bridge with JSI. JavaScript can now hold direct references to native objects and call them synchronously. Combined with Hermes precompiling your code to bytecode, the result is a React Native app that launches fast, scrolls smoothly, and answers gestures with native-level latency.
What an Expo project looks like
Most React Native apps ship with Expo.
The official React Native CLI works, but in 2026 most teams reach for Expo instead. Expo is a managed toolchain on top of React Native that absorbs the painful parts: Xcode and Android Studio setup, signing certificates, push notification credentials, building native binaries, and shipping over-the-air updates. The code you write is still standard React Native. Expo just removes the parts that have nothing to do with your product.
A new Expo project boots up in about a minute with npx create-expo-app. You get TypeScript, file-based routing, a working app skeleton, and a QR code you scan with the Expo Go app to run the project on a real iPhone or Android in seconds. No Mac required. No simulator setup. No signing dance.
What Expo gives you out of the box
- One CLI to create, run, and build your app
- Pre-built native modules for camera, notifications, auth, biometrics
- Hot reload preview on a real iPhone or Android via Expo Go
- Managed iOS and Android builds without owning a Mac
- Over-the-air JavaScript updates without an App Store review
- TypeScript, Hermes, and the new React Native architecture by default
What Expo trades away
- Some niche native libraries still need a custom dev build
- Bare React Native gives finer control if you really need it
- OTA updates have rules, so native code changes still need a new build
If you have read about Expo for the first time and wondered whether it counts as React Native: yes, it does. Expo apps ship the same native runtime, the same Hermes engine, and the same binary you would get from a plain React Native project.
Who ships with it
Apps you probably already have on your phone.
React Native is not a hobbyist framework. It runs in production at companies serving hundreds of millions of users a day. Here is a short tour of who picked it and what they ship with it.
Discord
The entire iOS app and a large share of the Android app run on React Native. Discord has been on the framework since 2015 and uses it at the scale of hundreds of millions of users.
Shopify
Shopify rebuilt its mobile apps on React Native in 2020. Shop, Shopify Inbox, and the merchant app all share the same React Native codebase across iOS and Android.
Microsoft Office, Outlook, Teams
Microsoft uses React Native across Office mobile, Outlook mobile, and parts of Teams. Microsoft also maintains React Native for Windows and macOS so the same code can target desktop.
Meta (Facebook & Instagram)
Meta still ships large sections of Facebook and Instagram with React Native, including Marketplace and several settings flows. The framework was built to support those apps in the first place.
Walmart, Tesla, Pinterest
Walmart rewrote large parts of its retail app on React Native. The Tesla mobile app runs on it. Pinterest uses React Native for its Pin creation and onboarding flows.
Coinbase, Bloomberg, Wix
Coinbase rebuilt its consumer app on React Native in 2021. Bloomberg uses it for its consumer mobile app, and Wix runs the Wix and Wix Owner apps on it.
Sources for the company list: the official React Native showcase, the Shopify engineering blog, and Microsoft’s React Native for Windows announcements.
Benefits & trade-offs
Why teams pick it, and where it falls short.
The case for React Native is not that it is the perfect mobile framework. It is that for the kind of app most teams actually build, the trade is overwhelmingly in your favour. One codebase, fast iteration, and native feel, at the cost of a small ceiling on very specialised native work.
One codebase, two platforms
You write a single React Native app and ship it to both the App Store and Google Play. Teams report code-sharing in the 80-95% range, with the remainder being small platform-specific tweaks.
Fast feedback loop
Hot reload re-renders the app the moment you save a file, which is closer to web development than the build-deploy cycle of a Swift or Kotlin app. You see UI changes in under a second on a real phone.
Native performance, native UI
Because the framework renders to real native views, your app gets the same scroll, the same gestures, and the same accessibility as a hand-coded Swift or Kotlin app. Hermes and JSI keep the JavaScript side fast.
Huge JavaScript ecosystem
Any of the hundreds of thousands of npm packages that do not depend on the DOM works in React Native. The native module ecosystem is smaller but covers the common needs like payments, auth, push, maps, and video.
Trade-offs to know about
- Some advanced native features still need a small Swift or Kotlin module
- Older React Native versions had bridge overhead; the new architecture fixes most of it
- App size is slightly larger than a pure Swift app because the JS runtime ships with the binary
- Heavy 3D, AR, or real-time video apps may still want a native-only stack
How Newly uses React Native
Newly is an AI app builder. When you describe an app in your own language, the generated codebase is React Native + Expo + TypeScript, the same stack used by Discord and Shopify. Everything we hand back is a real, ownable codebase you can read, edit, and host anywhere.
From $25/month, you get unlimited iOS and Android cloud builds, an AI assistant that knows React Native idioms, and a one-click path to the App Store and Play Store. If you have been wondering what is React Native good for in your own project, the fastest way to find out is to ship one.
FAQ
Frequently asked questions.
React Native is an open-source framework from Meta that lets you write a mobile app once in JavaScript or TypeScript and run it as a real iOS app and a real Android app. The same React components you might use on the web are mapped to real native UI elements on the phone, so the buttons, lists, and text fields are the same widgets a Swift or Kotlin developer would use. You write one codebase, the framework hands the rendering off to the platform, and the user gets an app that feels like every other app on their phone. It is the stack behind Discord, Shopify, Microsoft Office, and large parts of Instagram and Facebook.
Now you know what React Native is. Try shipping one.
Newly turns a description in your own language into a real React Native + Expo app you can preview on your phone in minutes and submit to the App Store in days. The same stack as Discord, Shopify, and Microsoft Office, without writing a line of Swift or Kotlin.