Mobile Apps

Native vs cross-platform app development: how to decide

For most business and consumer apps, cross-platform development is the sensible default. For a specific minority, native is the only responsible choice. This guide helps you work out which group your product belongs to.

Mobile AppsUpdated September 21, 2026By the BBR engineering team

Short answer: if your app is made of accounts, content, forms, lists, maps, payments and notifications, and you need both iOS and Android, build cross-platform. If the core of the product is something the device does, such as real-time camera or audio processing, augmented reality, demanding graphics, complex Bluetooth hardware, or deep integration with watches, widgets and other system features, build native. If you already have a good web app and need a store presence, consider a hybrid wrapper.

Where we stand. BBR builds cross-platform with React Native and with Capacitor, and does not offer full native Swift or Kotlin builds. We have tried to make the case for native fairly below, because sending the wrong project down the cross-platform route helps nobody.

The three approaches, defined

  • Native. Two separate apps: Swift for iOS, Kotlin for Android, each using the platform’s own tools and interface toolkit. Usually two engineers or two teams.
  • Cross-platform. One codebase producing both apps. React Native drives the platform’s real interface components from JavaScript or TypeScript. Flutter draws its own interface with its own rendering engine from Dart. Both compile into ordinary store apps. We compare the two in Flutter vs React Native.
  • Hybrid and web-based. A web application displayed inside a native shell (Capacitor is the common tool), or a progressive web app installed from the browser with no store involved.

Comparison

CriterionNativeCross-platformHybrid (Capacitor) / PWA
Codebases for iOS + AndroidTwoOneOne, often shared with the website
App-side build effort for both storesHighest, roughly doubleRoughly one build plus 10–25%Lowest when a web app already exists
Interface performanceBest availableVery good for typical appsGood for content and forms; weaker for long lists and heavy gestures unless carefully built
Platform look and feelAutomaticClose, with some careHas to be designed in deliberately
Access to device featuresComplete, from day one of each OS releaseBroad through libraries; native modules for gapsCommon features through plugins; PWAs are limited to what browsers expose
New OS featuresImmediatelyAfter library support arrives, or via your own native moduleLatest of the three
HiringTwo specialist skill setsOne; React Native draws on the large JavaScript poolWeb developers
Keeping platforms in stepNeeds discipline; features driftAutomaticAutomatic
Long-term maintenanceTwo codebases to update every yearOne codebase plus framework upgradesOne codebase; the shell needs occasional updates

When native is required

Choose native, without much agonising, if one or more of these describes the heart of the product and not a side feature:

  • Real-time media processing. Camera filters, computer vision on live video, low-latency audio, professional photo or video editing.
  • Augmented reality or demanding 3D outside a game engine. (Games themselves are usually built in an engine such as Unity, which is a different decision.)
  • Complex hardware communication. Continuous Bluetooth connections to medical, industrial or fitness devices, especially in the background.
  • Deep operating-system integration. Apps that are primarily a watch app, a widget, a keyboard, a share extension, a CarPlay or Android Auto experience, or that depend on health and home platform frameworks.
  • Adopting new OS capabilities on release day as a competitive requirement.
  • An existing native team and codebase. If you already have capable Swift and Kotlin engineers, switching frameworks has a cost that a new feature rarely justifies.
  • A single platform, permanently. If the product will only ever be on iPhone, the main argument for cross-platform is gone.

When cross-platform wins

  • You need both stores and have one budget. This covers the majority of startups.
  • The app is a front end to a service. Marketplaces, booking, delivery, fintech dashboards, content, communities, e-commerce, internal field apps. The difficult logic lives on the server; the app presents it.
  • Speed of iteration matters. One change, one review, one test pass, both platforms updated together.
  • You want a small team. One or two engineers can own the whole app, and with React Native they can often work on the web front end too.
  • Feature parity is important. With two native codebases, one platform tends to fall behind.

The caveat: cross-platform does not mean zero platform work. Permissions, push notification setup, in-app purchases, store rules and some interface conventions differ between iOS and Android and still need individual attention and testing on both.

The third option: Capacitor-style hybrid apps and PWAs

Hybrid apps have a poor reputation earned a decade ago, when phones were slower and web views weaker. Today the approach is reasonable for the right kind of product.

Capacitor

Capacitor packages a web application as a real iOS and Android app and gives it access to native features through plugins: push and local notifications, camera, file system, in-app purchases, ads. It fits well when:

  • you already have a working web app and want it in the stores without a second front end;
  • the interface is content, forms, charts and data;
  • the app is drawn on a canvas, as many HTML5 games are, so native interface components are irrelevant;
  • budget is tight and the alternative is no app at all.

Both of BBR’s published apps use it. Grow.io is an HTML5 canvas game wrapped with Capacitor, with AdMob ads and in-app purchases. Live Gold & Silver Prices is a data app with price alarms delivered as local notifications. In both cases the interface did not need native components, so a web-based front end was the economical choice.

It fits badly when the app depends on long, fast-scrolling lists with complex rows, elaborate gesture-driven navigation, or an interface that must feel exactly like the platform’s own apps. Note also that Apple’s review guidelines reject apps that are only a repackaged website with no app-like functionality, so a hybrid app has to offer something beyond the site.

Progressive web apps

A PWA is a website that can be installed to the home screen, work offline to a degree and, on supporting platforms, send push notifications. There is no store review, no commission and no install friction beyond a link. The limits: browser support for installation and push is narrower on iOS than on Android, you get no store discovery, and access to device features is restricted to what browsers allow. PWAs suit tools people reach through a link or search and use occasionally. They suit daily-habit consumer products less well.

Cost and time implications

Taking an app whose client side is 12 person-weeks on one platform:

Approach for iOS + AndroidApp-side effortRelative calendar time
Two native codebasesAbout 21–24 person-weeksSimilar to one platform if two engineers work in parallel; longer if one does both
Cross-platformAbout 13–15 person-weeksSlightly longer than one platform
Capacitor around an existing web appAbout 3–6 person-weeksShortest, because the front end already exists

These are planning estimates. The backend, admin panel and design are the same in each row and are not included. The more important number is the recurring one: every feature and every yearly OS update is done twice in the native row for as long as the app lives. Full budgeting is covered in how much it costs to build a mobile app and schedules in how long an app takes to build.

A decision procedure

  1. Write down the three things the app must do best. If any of them appears in the “native is required” list, go native and stop here.
  2. Do you need both stores within the first year? If not, pick the platform your users are on and use whichever technology your team knows.
  3. Is there already a good web app, and is the interface mostly content and forms? If so, price a Capacitor build before anything else.
  4. Do users need store distribution, store billing or reliable push on iOS? If not, consider a PWA or a responsive web app first.
  5. Otherwise, build cross-platform, and choose the framework based on the team you can hire or contract. For most teams with web experience that points to React Native.

Whichever route you take, the choice of approach matters less than the quality of the team executing it. Our mobile app development service page explains how BBR approaches cross-platform builds, and the MVP tech stack guide places this decision in the context of the rest of the stack.

Questions

Frequently asked
questions.

Can users tell the difference between a native and a cross-platform app?

In a well-built React Native or Flutter app made of lists, forms, maps and media, generally not. Differences appear in poorly built apps of any kind, in very animation-heavy interfaces, and in web-view hybrid apps that ignore platform conventions. Build quality matters more than the framework.

Is cross-platform development always cheaper?

When you need both iOS and Android, almost always, because features are built once. When you need only one platform, the saving mostly disappears. When the app depends on many platform-specific features, the native modules you end up writing can erase the advantage.

Can a cross-platform app use the camera, GPS, Bluetooth and push notifications?

Yes. Mature frameworks have maintained libraries for the common device features, and anything missing can be added through a native module. The question is how much of your app would consist of such modules. A little is normal; a lot suggests a native build.

Can we start cross-platform and move to native later?

Yes, and many companies do. The backend, design, product knowledge and store presence all carry over. The app code itself is rewritten. It is also possible to move gradually, since native screens and cross-platform screens can live in the same app.

Is a PWA enough, or do I need a store app?

A progressive web app is enough when users arrive through links and search, sessions are occasional, and you do not rely on store billing or deep device integration. Support for web push and installation on iOS is more limited than on Android, so products that depend on notifications usually do better as store apps.

Your next move

Unsure which approach fits?
Describe the app.

Tell us what the app has to do on the device. We will say which approach we would choose and why, including when the answer is a native team and not us.

Ask about your app