Skip to content

React Native vs Native Apps for Small Business

What cross-platform really means, where React Native is the sensible default, where native genuinely wins, and why the answer matters less than you think.

6 min read

If you have asked two developers how to build your app, there is a fair chance you were given two confident and opposite answers. The argument is a real one, but for a typical business app it is far less decisive than it sounds, and it is usually settled by things that have nothing to do with the technology. Here is what the choice actually involves, in plain terms, without a preferred answer attached.

What cross-platform actually means

An iPhone and an Android phone run different operating systems and expect apps written in different languages: Swift for iOS, Kotlin for Android. Building fully native means writing the app twice, once for each, using each platform’s own tools. It gives you the closest possible fit to the device, and it gives you two codebases to build, test and maintain forever.

React Native takes a different route. You write the app once in JavaScript or TypeScript, and it renders using the platform’s real interface components rather than drawing an imitation of them. Buttons, lists and text fields are the genuine iOS and Android controls. Where you need something a shared codebase cannot express, you can still drop into native code for that piece. Flutter and Kotlin Multiplatform solve the same problem in their own ways; the trade-off below is broadly the same for all of them.

Where React Native is the sensible default

For the great majority of business apps, which are screens, forms, lists, bookings, accounts, payments and notifications talking to a server, one shared codebase is straightforwardly the better economics:

  • One build instead of two. You are not paying twice for the same feature, and the saving compounds with every change you make afterwards.
  • The two apps stay in step. A fix written once lands on both platforms, rather than being written twice and drifting.
  • A smaller team can maintain it, which matters more for a small business than the initial build cost does.
  • It shares a language and often real code with a web app, so a website, an admin console and a mobile app can sit on one platform.
  • Updates are quicker, and quicker updates are what keep an app alive after launch.

The cost difference is real but often overstated. Two native apps are not twice the price of one cross-platform app, because the server, the database, the design and the decisions behind them are shared either way. Expect the platform-specific slice of the work to be the part that roughly doubles, which is why what actually drives the price of a build is a more useful thing to understand than any framework comparison.

Where native genuinely wins

There are categories where writing twice is the right call, and pretending otherwise does nobody any favours.

Heavy graphics and games

Anything rendering continuously at high frame rates: games, 3D, real-time video effects, augmented reality, serious image or audio processing. These push the device hard enough that the extra layer between your code and the hardware becomes the thing you are fighting.

Deep operating system integration

Home screen widgets, watch apps, complex background processing, Bluetooth or hardware peripherals, sophisticated offline sync, or a brand new capability announced at Apple’s or Google’s developer conference. Cross-platform frameworks reach most of this eventually, and often quite quickly, but they reach it after the native tools do, and a bridge someone has to write is more work than a feature that is simply there.

Genuinely demanding performance

Apps handling very large data sets on the device, or where a few milliseconds of interface latency is a product problem rather than a preference. This is a narrower category than it is usually claimed to be. A booking app, a loyalty card or a field engineer’s job sheet is not in it.

Why the choice matters less than most people think

For a typical business app, the framework is not what determines whether the app feels good. A well-built React Native app is indistinguishable from native to almost every user, and a carelessly built native app can be slow, ugly and awkward. The difference between a pleasant app and an irritating one is nearly always design, the speed of the server behind it, how it behaves on a poor connection, and how much care went into the small states: loading, empty, offline, error.

The bigger fork in the road sits one level above this argument anyway. Choosing between a website, a web app and a native app changes your costs by a far larger factor than choosing between React Native and Swift, and for many businesses the honest answer is that no app is needed at all yet.

The questions worth asking instead

  1. Does the app need anything on the native list above? If yes, that settles it. If no, one codebase is usually the better use of the budget.
  2. Do you need both platforms at launch? Two stores from day one is the main argument for sharing a codebase.
  3. Who maintains it in two years? A smaller surface area is easier and cheaper to keep alive.
  4. Does it need to share a platform with a website or an admin console? Shared language and shared code start to matter.
  5. Who owns the code, and could another developer pick it up? That answer matters more than the framework name.

That last point is worth pressing on whoever builds for you, whichever route they recommend. The questions in our guide to hosting, domains and source code ownership will tell you more about how a project is likely to go than any framework debate will.

Either way, you get real apps in both stores

This is the part that reassures most business owners: a React Native app is a real app. It is downloaded from the App Store and Google Play, it appears on the home screen, it uses push notifications, the camera and the phone’s location, and it works offline if built to. Both routes go through exactly the same submission and review, described in our guide to publishing an app, and neither is treated differently by Apple or Google for being cross-platform. The mobile apps we build are submitted to both stores in your name regardless of what is underneath.

The right approach follows from what your app has to do, not from a preference decided in advance. If you describe what you are building, a supplier worth using will explain which route they would take and why, and will say plainly when native is the one your project needs. Tell us what you have in mind and we will give you that reasoning rather than a recommendation with no working shown.

Have an idea you'd like to discuss?

We're happy to talk it through, no obligation.

Get in touch