Web app vs mobile app — decision guide 2026
Many companies reach this fork: you need something on the user's phone, but you don't know if a web app (PWA) is enough or you need a native app. Short answer: it depends on what the app does, not what you want. Long answer: below, with cost, maintenance, and distribution numbers.
The two options — what they actually mean
Web app (PWA — Progressive Web App)
A website built like an app: runs in the browser, but installs to the phone's home screen, works partially offline, accesses camera, GPS, notifications. Typical stack: Next.js or React + Service Worker for offline caching. Distributed via URL — no App Store.
Native mobile app (or cross-platform)
An app compiled and distributed through the App Store (iOS) and Google Play (Android). Two variants: pure native (Swift for iOS, Kotlin for Android — two separate codebases) or cross-platform (React Native, Flutter — one codebase for both platforms).
The decision in 30 seconds
| Criterion | Web app (PWA) | Native app |
|---|---|---|
| Initial budget | €3,000 – €15,000 | €15,000 – €60,000+ |
| Monthly maintenance | €100 – €500 | €500 – €2,000 |
| Time to market | 3-6 weeks | 3-6 months |
| Distribution | URL (instant) | App Store review (1-7 days) |
| Hardware access | Limited (GPS, camera, notifications) | Full (Bluetooth, NFC, sensors) |
| Performance | Browser-dependent | Native (consistent 60fps) |
| Discoverability | Google SEO | ASO (App Store / Play Store search) |
| Retention rate | Low (10-20% return 30 days) | High (30-50% return 30 days) |
When a web app (PWA) is the right choice
1. Audience comes from Google (SEO)
If your acquisition strategy is organic search — Google does not index mobile apps. A well-optimized PWA captures organic traffic for terms like "plumber London" or "order food online." A native app does not appear in Google Search as a clickable destination.
2. Features don't require exotic hardware
Your app uses: forms, online payments (Stripe, PayPal), maps, photo upload, push notifications? All work perfectly in a PWA. If you need Bluetooth Low Energy, NFC, AR Kit, dedicated sensors — web won't get there.
3. Instant updates, no App Store review
Deploy a bug fix to a PWA and every user gets it instantly on refresh. On the App Store, each update goes through a review that takes 1-7 days. Critical bug Friday evening? Native users wait until Wednesday.
4. Budget under €20,000
A well-built PWA costs €3,000-€15,000. A quality native app starts at €15,000 (cross-platform) and quickly reaches €40,000-€60,000 for a comparable feature set. If the budget doesn't support native, PWA isn't a compromise — it's the right solution.
5. Prototype / MVP that needs fast validation
You want to validate a product idea in 4 weeks, not 4 months. PWA lets you get something into test users' hands fast, collect feedback, pivot. The native app comes later, once you know what to build.
When a native mobile app is mandatory
1. Users expect it
Banking, rideshare, social network, health app with sensors — users search for "X app" in the App Store, not "X website." If your competitors are on the App Store with 4.8 stars, your absence there is a trust signal.
2. Real-time performance or heavy graphics
Game, app with 60fps animations, video processing, AR. The browser has constant overhead: garbage collection, JIT compilation, layer compositing. Native eliminates overhead and delivers predictable performance.
3. Deep hardware access
Bluetooth Low Energy (IoT, smart accessories), NFC payments, deep HealthKit / Google Fit integration, AR camera, real-time audio processing. Web APIs exist for some, but are inconsistently implemented across browsers and operating systems.
4. Works fully offline
PWA can cache content, but a field service app (technician on a site with no signal) needs local DB sync, conflict resolution, operation queue. That's done correctly only in native — Core Data (iOS) and Room (Android).
5. Monetization through in-app purchases
Apple and Google have native infrastructure for subscriptions, consumables, non-consumables. RevenueCat or StoreKit only work in a native app. On web, you must implement Stripe billing separately — and iOS users are used to App Store checkout, not web forms.
Real costs — 3-year comparison
Scenario: food ordering app with 500 daily users
| Cost | PWA | React Native (iOS + Android) |
|---|---|---|
| Initial development | €8,000 – €15,000 | €25,000 – €45,000 |
| Infrastructure/year | €600 – €1,200 | €600 – €1,200 |
| Maintenance/year (bug fixes, OS updates) | €1,200 – €3,000 | €4,000 – €8,000 |
| App Store fee/year | €0 | €99 (Apple) + €25 (Google) |
| Total 3 years | €17,000 – €30,000 | €45,000 – €80,000 |
The difference: €28,000-€50,000 over 3 years. The question is whether the native experience brings €28,000+ of extra value: better retention, higher average order value, more efficient acquisition. Sometimes yes. Sometimes no.
Decision checklist — 7 questions
- Do users come from Google Search? Yes → PWA. No (social, ads, referrals) → native or both.
- Do you need Bluetooth, NFC, AR, dedicated sensors? Yes → native.
- Budget under €20,000? PWA.
- Do users expect to find you in the App Store? Yes → native.
- Does it need to work offline with complex sync? Yes → native.
- Do you monetize through in-app purchases / mobile subscriptions? Yes → native.
- Time to market under 2 months? PWA.
The hybrid strategy — PWA + native
The most common mature architecture: PWA as the base (covers 80% of traffic through SEO and fast updates), native app for power users who want performance and hardware features. Airbnb, Twitter, Instagram use this variant — the web captures organic traffic, the app captures retention.
Downside: two codebases to maintain. But if the numbers justify it (PWA brings 60% of new users through SEO, native retains 70% of active ones), the double cost amortizes.
Cross-platform vs pure native — a sub-decision
If you go native, you choose between:
- React Native / Flutter — one codebase, two platforms. 70-80% code sharing. Near-native performance. 30-40% cost reduction vs pure native.
- Pure native (Swift + Kotlin) — two codebases. Maximum performance, full access to platform APIs. Highest cost. Justified for apps with extreme graphics requirements or deep OS integrations.
For 90% of business apps (commerce, fintech, social, productivity), React Native or Flutter are the right choice. Pure native remains for games, apps with video/audio processing, and specific hardware integrations.
Common pitfalls
- "Let's just do PWA, it's cheaper" — if your competitor has a native app with 4.8 stars and background push notifications that work, your PWA will look inferior. Make sure that audience isn't your target.
- "Native is always better" — no. A poorly built native app (slow UI, crashes, slow updates) is worse than a solid PWA. Execution quality matters more than platform.
- "React Native means one person" — no. Even cross-platform, you need someone with App Store review experience, provisioning profiles, push notification certificates. Mobile DevOps is a separate skill.
- "App Store is just a €99/year cost" — Apple takes 15-30% of every in-app transaction on digital products. For a €10/month subscription, Apple keeps €1.50-€3.00/month. At high volume, it adds up.
Practical conclusion
Ask yourself: what does the app do and where do users come from. If it's commerce and Google Search → PWA. If it's fintech or social with critical retention → native. If you're early and validating → PWA now, native at the next funding round. The "always native" rule died in 2020 when PWA reached parity on 80% of use cases. The "always PWA" rule is equally wrong.