Choie

GlossaryUpdated

React Native

React Native is an open-source framework from Meta for building iOS and Android apps from one codebase in JavaScript or TypeScript, using React, while showing each platform's own native interface components.

In short

  • React Native lets one team write one codebase for iOS and Android in JavaScript or TypeScript.
  • It renders real native components, so apps look and behave like they belong on each platform.
  • Expo is the most common way to start a React Native project today, and the one the React Native docs recommend.
  • It suits product apps well, and fits teams that already work in React on the web.

Also called: RN, React Native app development, Expo.

How React Native works

Facebook released React Native as open source in 2015, bringing the React way of building interfaces from the web to mobile. You describe screens as components in JavaScript or TypeScript. At runtime, React Native turns those components into the platform's own views: a button on iOS is a real iOS control, and the same on Android.

The JavaScript code runs inside the app and talks to native code for anything platform-specific, such as the camera, notifications, or payments. Most of those needs are covered by existing libraries. When they are not, developers write a small native module in Swift or Kotlin.

What a React Native app is made of

  1. Your app codeScreens and logic in TypeScript
  2. React NativeTurns components into native views
  3. Native modulesCamera, payments, notifications
  4. iOS and AndroidThe platforms the app runs on
Most of the code lives in the top layer and is shared. The native layers differ per platform, and libraries cover the common needs.

Where Expo fits

Expo is a framework and set of services built on React Native. It handles project setup, gives access to device features through ready-made modules, and offers cloud builds and store submission. The React Native documentation recommends starting new apps with a framework such as Expo rather than from a bare setup.

Expo also supports over-the-air updates, which let small fixes to the JavaScript part of the app reach users without a full store release, within the rules Apple and Google set. Changes to native code still go through store review.

React Native compared

FactorReact NativeFlutterFully native
LanguageJavaScript or TypeScriptDartSwift and Kotlin
InterfacePlatform's own componentsDraws its own componentsPlatform's own components
CodebasesOneOneTwo
Hiring poolLarge, shared with web ReactSmaller, growingSeparate iOS and Android specialists
Code shared with the webSome, especially logic and typesLittleNone

The broader decision, including when a progressive web app is enough, is covered in native vs cross-platform apps.

When React Native is a good choice

  • The app is a product app. Accounts, feeds, forms, lists, maps, messaging, and payments are well supported.
  • You need both platforms on one budget. One team and one codebase reach iPhone and Android users at once.
  • You already use React. Web developers can contribute, and logic or types can be shared with a web app.
  • You want to iterate quickly. Fast refresh during development and over-the-air fixes after launch shorten the loop.

It is a weaker fit when the app centers on heavy graphics, complex real-time audio or video, or deep platform features such as widgets and watch apps, which often need native code anyway. Large companies including Meta and Shopify use React Native in production apps, so maturity is rarely the issue. Fit with the product is.

Expect some native work

Even in a cross-platform app, push notification setup, permissions, in-app purchases, and store configuration touch each platform. Budget for it.

At Choie, a custom mobile app build covers iOS, Android, or both, with the approach agreed in the written scope. Builds start at $19,000.

Common mistakes

  • Treating it as a website in an app. Mobile users expect native navigation, gestures, and offline behavior. Choie builds real iOS and Android apps, not wrappers around a website, whichever approach the scope settles on.
  • Too many unmaintained libraries. Each dependency must keep up with new iOS and Android versions.
  • Skipping upgrades. Falling several React Native versions behind makes each later upgrade harder.
  • Testing only on one platform. Shared code still behaves differently on iOS and Android. Test both.

Common questions

Is React Native good for startups?

Often, yes. One team can ship iOS and Android from one codebase, and the large JavaScript ecosystem makes hiring and libraries easier. It is less suited to apps built around heavy graphics or deep platform features. When Choie scopes a mobile build, the platforms are agreed in writing first, because covering both iOS and Android is one of the things that moves the price.

Is React Native the same as React?

They share the same component model and much of the same thinking. React builds web interfaces from HTML elements, while React Native builds mobile interfaces from native iOS and Android components.

Do I need Expo for React Native?

No, but it is the usual starting point. Expo simplifies setup, device features, builds, and updates, and you can still add custom native code when the app needs it.

Are React Native apps slower than native apps?

For typical product apps, users rarely notice a difference. Performance gaps show up in graphics-heavy screens or poorly built lists, which can be optimized or written natively where needed.

Related terms

See every term in the glossary

Have something worth building?

  • Product strategy
  • iOS
  • Design systems
  • Launch sites
  • Measurement
  • Android
  • Prototypes
  • UX design
  • MVPs
  • Web apps
  • UI design

Send a few lines about it. You will get an honest reply within two days, and a plan if it fits.