Mobile and cross-platform app development

React Native vs native: choosing a mobile app stack

3 min read

React Native or fully native iOS and Android: how to choose a mobile app stack based on your budget, timeline, and what the app actually needs to do.

"Should we build native or use React Native?" comes up on almost every app project, and it usually gets answered with a general opinion instead of a look at the actual app. The honest answer depends on three things: how much of the phone's own hardware and OS features the app leans on, how long you can afford to wait for two native codebases instead of one, and what "good enough" performance means for what you're building.

Here's how we actually work through that decision.

What React Native gets you

One codebase (JavaScript/TypeScript) ships to both iOS and Android, which usually means a meaningfully shorter build and a single team maintaining one set of business logic instead of two. Performance is close to native for the vast majority of business apps: forms, lists, navigation, API calls, and standard UI don't feel any different to a user than a fully native equivalent. Expo, the toolchain we default to, also removes a lot of the native build tooling pain that made React Native harder to work with a few years ago.

Where it starts to strain: apps with heavy custom animation, real-time graphics, or deep integration with newer OS-specific APIs the day they ship, before a community bridge library exists for them. It's rarely impossible with React Native, but it can mean writing native modules yourself, which erodes some of the "one codebase" benefit.

When native is worth the extra cost

Fully native (Swift/SwiftUI on iOS, Kotlin/Jetpack Compose on Android) makes sense when the app's core value depends on things React Native has to work around: complex camera or AR features, background processing with strict OS constraints, or a UI that needs to feel exactly like the platform's own apps down to the smallest interaction detail. It also means committing to two codebases and, realistically, two sets of engineering time for every future feature.

The option people forget: a web app that installs like an app

For a lot of internal tools and simpler consumer apps, a responsive web app (optionally a PWA, so it can be added to the home screen) is worth ruling out before committing to either mobile stack. No app store review process, one deployment, and instant updates. It's the wrong answer if you need push notifications the OS treats as first-class, offline-first behavior, or app store presence for discovery, but those requirements are worth stating explicitly rather than assuming.

A short checklist

  • Does the app need camera, AR, Bluetooth, or other hardware features beyond the basics?
  • Does it need to work fully offline, not just gracefully degrade?
  • Is app store discovery part of how users will actually find it?
  • Is there a hard budget or timeline that only one codebase can meet?
  • Would a mobile-responsive web app cover the real requirement?

If the answers lean toward "standard business app, one team, ship reasonably fast," React Native is usually the right default. If they lean toward "the hardware integration or platform-specific feel is the product," native is worth the extra cost.

Our app development service builds React Native apps with Expo by default, and we'll tell you directly if your project is one of the cases where native is the better call, including the reasoning, before any code is written.

More from the blog

Next step

Ready to talk about your project?

Tell us what you're building. We reply within one business day.

Chat with us