Insights · 6 min read

Native app or web app? A decision guide.

It is the first question in almost every app project, and the answer shapes budget, timeline and how people find you. Here is how to decide, with three projects that chose differently.

In short

Build native when people will use the app often, it needs the phone’s hardware or it has to be in the app stores, as with ordering and loyalty apps. Build a web app when people mostly use it at a desk, it changes often or reach matters more than device features. Many businesses need both: native customer apps on top of one shared web platform.

What is the difference between a native app and a web app?

A native app is built for one platform with that platform’s own languages and tools: Swift and SwiftUI for iPhone and iPad, Kotlin and Jetpack Compose for Android. People install it from the App Store or Google Play, and it follows Apple’s and Google’s design guidelines.

A web app runs in the browser from a single codebase and works on any device with a link. A progressive web app (PWA) goes further: it can be added to the home screen, open in its own window and keep working offline.

When is a native app the right choice?

Native usually wins when:

  • People come back often for the same task, such as re-ordering, checking rewards or tracking an account.
  • The app relies on device features such as the camera, location, sensors or rich touch interaction.
  • Being in the App Store and Google Play, with an icon on the home screen, is part of how customers find and remember you.
  • Smooth, fast interaction is part of the product, as in simulations, games or media.

When is a web app the better choice?

A web app usually wins when:

  • People use it mostly on computers at work, as with dashboards and B2B software.
  • Features change often. Apple and Google review native apps before each release, while a web app can be updated at any time.
  • Reach matters most: anyone with a link can open it, and public pages can be found through search engines.
  • You want one codebase to build and maintain instead of two.

The gap is also narrowing. Since iOS and iPadOS 16.4, web apps added to the Home Screen can send push notifications on iPhone and iPad, a feature that used to require a native app.

How did three real projects decide?

Three of our projects show how the choice follows the people who use the product:

ProjectWho uses itWhat was built
Corrib OilCustomers ordering fuel and heating oil, and tracking loyalty rewardsNative iOS (SwiftUI) and Android (Kotlin, Jetpack Compose) apps, with a web platform (Nuxt, Ruby, Postgres)
3D2CutVine pruners learning through courses and hands-on pruning simulationsA native iOS app (SwiftUI) with a Ruby back-end; the Android version is in development
Roam AITeams monitoring oil and gas wells across several organisationsA web platform (Vue, Nuxt) built around real-time data and dashboards

Corrib Oil’s customers re-order regularly and collect rewards, which favours an app on the phone. Corrib Oil reports a 50% increase in app downloads, stronger customer retention and a 2–5% rise in online sales.

3D2Cut launched on iOS first. Its back-end for accounts, courses and progress tracking was built so the Android version, now in development, can be added without starting again.

Roam AI is a data-heavy tool for teams across several organisations, so a web platform kept a single codebase for every user.

What should you answer before choosing?

Answer these questions first and the right option is usually clear:

  1. How often will people use it: daily, weekly or a few times a year?
  2. Will they mostly be on a phone or on a computer?
  3. Does it need the camera, location, sensors or offline use?
  4. Do customers expect to find you in the App Store and Google Play?
  5. How often will features change after launch?
  6. Does it need to connect to an existing website, store or back-end?
  7. Who will maintain it, and can you support two codebases or only one?

Sources

  1. Apple Human Interface Guidelines
  2. Material Design 3 (Google)
  3. web.dev: Progressive Web Apps
  4. MDN: Progressive web apps
  5. WebKit: Web Push for Web Apps on iOS and iPadOS
  6. Apple App Review Guidelines
  7. Google Play Developer Policy Center

FAQ

Questions about this topic.

Can't find your question? Ask us directly.

Talk to a real person

We reply within one working day.

Ask us anything
01Is a native app more expensive than a web app?

Usually, because iOS and Android are separate codebases and each release goes through app store review. Sharing one back-end and design system between platforms keeps the extra cost down.

02Can a web app send push notifications on iPhone?

Yes. Since iOS and iPadOS 16.4, web apps that people add to their Home Screen can receive web push notifications.

03Can we start with one platform and add another later?

Yes. 3D2Cut launched as an iOS app, with a back-end designed from the start to support the Android version that is now in development.