The cliché answer to "mobile or web?" is "it depends." That's not wrong, but it's not useful either. Here's a more honest version: most teams who think they need a native app actually need a great responsive website first. Native is the upgrade, not the default.
The decision is rarely about the tech
Native vs web is not a religious question — it's a question about distribution and frequency of use. Build a native app when users come back daily and you want a permanent place on their home screen. Build a website when most of your audience will arrive via a link, search, or share — and decide everything in that single visit.
"If a user wouldn't put your app icon on their first home screen, you probably don't need an app yet." — a rule we use in kickoff calls
What native still wins at
- Daily-use products with persistent identity — banking, messaging, fitness, calendars.
- Background work — location updates, sync, push, geofencing, real‑time audio.
- Camera, sensors, ML on device — anything that needs the GPU/NPU at full power.
- Offline-first experiences in low-connectivity environments.
- Premium feel — gestures, haptics, native scroll physics still beat the web by a small but visible margin.
What modern web has quietly caught up on
It's 2026 and a lot of "we need an app" reasoning is two years out of date. Today, the web can:
- Install to the home screen with an icon, splash, offline mode, and push notifications (yes, on iOS too — since 2024).
- Use the camera, mic, and biometrics via WebAuthn and standard media APIs.
- Run heavy compute in WebAssembly and on the GPU via WebGPU — with performance close to native for most apps.
- Work offline using service workers and IndexedDB.
- Open instantly from a link, with no install friction and no app-store review.
A great Progressive Web App often beats a mediocre native app on the metric users actually care about: can I open it and finish the task?
The honest scoreboard
Quick reference for the decision:
- Cost & timeline — Web wins. One codebase, no review queue. Native typically costs 2–3× more for parity.
- Reach — Web wins. URLs are universal. App-store discovery in 2026 is a paid game.
- Performance feel — Native wins, but the gap is the smallest it has ever been.
- Engagement — Native wins for daily-use products. The home-screen icon is real estate.
- Iteration speed — Web wins. Ship a fix in minutes, not days.
- Hardware access — Native wins for sensors, background tasks, low-level audio.
The strategy we recommend most often
- Ship a fast, responsive web app first. Treat it like a real product, not a brochure.
- Make it a PWA. Offline support, install prompt, push notifications. You'll cover 80% of native value at 30% of native cost.
- Watch the analytics. If retention, session frequency, and notification engagement justify it — then wrap or rebuild for native.
- Use a hybrid stack thoughtfully. React Native, Expo, Capacitor, or Flutter can share most of the codebase. Don't go fully native unless you have a hardware-level reason.
How to actually decide in your next meeting
Ask three questions:
- How often will the average user open this in a week?
- Does the experience need anything the browser doesn't expose?
- What's the cost of being wrong about question 1 by 3×?
If the honest answers are "less than 3," "no," and "we'd waste a quarter," you're building a website. Build a great one.