Mobile apps5 min readBy Published

Native app, cross-platform app or web app: which should you build?

Most people who ask us for a mobile app haven't decided whether they need one. They've decided they want something on the phone, and the first quote they get assumes a particular answer. It's worth choosing the approach before you choose the agency.

Short answer

Build a web app or PWA when your users can live with a browser and you want the cheapest, fastest start. Build a cross-platform app (React Native or Flutter) when you need to be in the app stores on iPhone and Android with one team. Build fully native (Swift and Kotlin) when the app depends on the newest device features, heavy graphics or the best possible feel. Most business apps are fine with the first two.

The three options side by side

A native app is written separately for each platform: Swift for iPhone, Kotlin for Android. A cross-platform app shares most of its code between the two, using a framework such as React Native or Flutter. A web app runs in the browser, and a PWA is a web app that can be added to the home screen and work offline to a degree.

All three can be good. They differ in what they cost to build, what the phone lets them do, and how much work they create after launch.

Native, cross-platform and web app compared

Native (Swift / Kotlin)

Build cost
Highest, two codebases
Time to first version
Slowest
Device features
Everything, first
In the app stores
Yes
Feel and speed
Best
Best for
Camera, AR, heavy graphics

Cross-platform

Build cost
Medium, mostly one codebase
Time to first version
Medium
Device features
Most, sometimes with native code
In the app stores
Yes
Feel and speed
Very good for most apps
Best for
Most business and customer apps

Web app / PWA

Build cost
Lowest, one codebase
Time to first version
Fastest
Device features
Limited, varies by phone
In the app stores
Not by default
Feel and speed
Good for forms and content
Best for
Internal tools, early tests

Device features and app store review

Check the features you need before anything else. Push notifications, the camera, location, Bluetooth, biometric login and background tasks all work in native apps. Cross-platform frameworks cover most of them, and for an odd one a developer can write a small piece of native code. A browser can do some of this, but what it can do differs between iPhone and Android and changes over time, so check the current state for your exact feature.

Store review is the other surprise. Native and cross-platform apps go through Apple's and Google's review before each release, and a rejection can cost days. Read the current guidelines early, especially if you take payments for digital goods, because the store's own payment rules may apply. A web app skips review entirely, which is a real advantage when you want to ship a fix the same afternoon.

What happens after launch

Building is the smaller half of the bill. Apple and Google release new operating system versions every year, and your app has to keep working on them. Native means two codebases to update. Cross-platform means one, plus waiting for the framework to catch up when something big changes. A web app needs the least upkeep, because you update the server and everyone has the new version.

Whatever you pick, budget for this from the start. A reasonable habit is to plan a small amount of maintenance work every few months rather than a large repair every two years.

A low-risk path for most businesses
  1. Web first

    Build the core flow as a web app or PWA and let real users try it.

  2. Watch use

    See what people actually do, and what they ask the app to do that a browser can't.

  3. Go cross-platform

    Move to React Native or Flutter once the store presence or device features matter.

  4. Go native only if needed

    Write native code for the one feature that demands it, not the whole app.

Which one fits your situation

A few honest rules of thumb. If the app is for your own staff, a web app is often enough and you avoid the stores altogether. If customers will look for you in the App Store, you need a real app. If your product is the phone experience itself, such as a camera tool or a game, native is worth the extra cost.

Going native for a simple business app is the most common overspend we see. Building a web app when the whole idea depends on background location is the most common mistake in the other direction.

Pick by your situation
  • Staff-only tool, tight budget, need it quickly

    Web app or PWA.

  • Customers on iPhone and Android, standard features

    Cross-platform with React Native or Flutter.

  • You want to test an idea before spending much

    Web app first, app later.

  • AR, advanced camera, heavy graphics or the newest OS features

    Native on the platform that matters most.

  • You need push notifications and a store listing

    Cross-platform, not a PWA.

Questions people also ask

Is Flutter or React Native better?

Both are solid, and the difference matters less than the team that builds with them. React Native suits teams that already know JavaScript or TypeScript and may share code with a web app. Flutter draws its own interface, which gives very consistent visuals across phones. Pick the one your developers know well.

Can a PWA replace a mobile app?

Sometimes. For forms, content and internal tools it often does. If you need a store listing, reliable push notifications or deep device access, check what the current iPhone and Android browsers support before you commit.

Can we start cross-platform and go native later?

Yes, and it's a common route. You can add native code for one feature, or rebuild one platform natively once the product is proven. Starting this way costs less than building two native apps up front for an idea you haven't tested.

Related service

Not sure which kind of app you need? We'll tell you what we'd build and why.

Talk to us

More articles

What we learn building AI, sent to your inbox

Our newsletter

Practical AI notes for growing businesses. One email a month.