TL;DR — pick-by-scenario
Choose a web app for B2B SaaS, internal tools and search-driven products; a PWA when you also need home-screen presence, push and offline without maintaining two native codebases; native when you depend on deep hardware APIs (ARKit, NFC, HealthKit) or daily-active retention. For most B2C products in 2026, a well-built PWA delivers roughly 80% of the native experience at 40–60% of the cost.
- Build a web app if your product is B2B SaaS, an internal tool, or a content-driven service where users arrive via search or shared links. No installation barrier, every device, easiest iteration.
- Build a PWA if you need a web app plus home-screen presence, push notifications and offline access — without maintaining two native codebases. Best fit for e-commerce, media, B2C dashboards and marketplaces.
- Build native (iOS + Android) if your app depends on ARKit/ARCore, NFC payments, HealthKit, background location, on-device ML, or tight OS integrations like CarPlay and Android Auto. Also the default for consumer retention plays where daily active use is the core KPI from day one.
- For most B2C products in the $50k–$200k budget range, a well-executed PWA gives you 80% of the native experience at 40–60% of the cost. Don't overbuild unless you have a concrete reason.
Web app, native, PWA: what each really means in 2026
People muddle these terms constantly. And the choice between them only makes sense once you know what each one actually is, so let's be precise first.
Web app
A web application runs in a browser tab. It might be a simple multi-page site, a React SPA, or a Next.js server-rendered app. What ties them together is simple: the user opens a URL and the browser hosts everything. No installation. No app store. Anything with a modern browser can run it. That makes it the default for B2B SaaS, internal tools, and any product where people arrive through organic search or a shared link — the core of our web application development work.
Native app
A native app is compiled for a specific platform — Swift/SwiftUI for iOS, Kotlin/Jetpack Compose for Android — or built with a cross-platform framework like React Native or Flutter that targets both. It ships through the App Store or Google Play, installs on the device, and gets full access to hardware APIs, OS services and background execution. All that power has a cost. You carry two codebases (or one cross-platform codebase with platform-specific modules), you wait on App Store review, and you accept an install step that loses 20–50% of casual users before they ever see the product. Our comparison of React Native vs Flutter in 2026 digs into the cross-platform framework choice.
Progressive Web App (PWA)
A PWA is a web app with three additions: a service worker (caching and offline), a Web App Manifest (installation and a home-screen icon), and HTTPS, which both of the others require. Together they unlock installability, push notifications and offline access — things that were native-only until a couple of years ago. Users add a PWA to the home screen straight from Safari or Chrome, and it opens in its own window with no browser chrome, so it looks and behaves much like a native app. You still ship it as a URL and let the browser do the rest.
What can and can't a PWA do on iOS & Android in 2026?
The most common misconception we still hear from US and EU clients in 2026 is that "PWAs don't work on iPhone." That was largely true before 2023. It isn't anymore. Here's where things actually stand, platform by platform.
iOS (Safari 17+, 2026)
- Web Push: Supported since iOS 16.4 (March 2023). Users who add a PWA to their home screen can receive push notifications via the Web Push standard. Safari on iOS (not installed PWAs) still requires a permission prompt, consistent with native apps.
- Installation: Add to Home Screen works; the installed PWA opens in a standalone window with a custom icon. iOS 17+ supports the BeforeInstallPrompt API for in-app install prompts, though Safari's implementation has quirks compared to Chrome.
- Offline: Service workers work fully. Caching, background sync and IndexedDB are all available.
- Gaps on iOS: No NFC, no ARKit/RealityKit, no HealthKit or Motion & Fitness APIs, no background audio in locked-screen mode, no Bluetooth LE pairing. These remain native-only territories on iOS in 2026.
Android (Chrome, 2026)
Android has had the most complete PWA support for years, and it keeps getting better. Web Push, installation, offline, Bluetooth LE, NFC (experimental behind a flag in Chrome), background sync and file system access all work. For most use cases the gap between a well-built PWA and a React Native app is genuinely small here. What you still can't reach is the deep OS layer: Android Auto, Wear OS, widget slots, and notification channels with granular categories.
Real-world brands that chose PWA — and why
Abstract capability tables are one thing. Seeing the companies that bet their growth on a PWA — and what they actually measured — is another. Here are four widely cited examples our clients reference when working through the native-vs-PWA decision.
Starbucks
Launched a PWA as a low-bandwidth companion to the native app. The PWA is 99.84% smaller than the iOS app and doubled daily active users within three months. Users who can't or won't install the native app now complete orders from any browser without friction.
X (formerly Twitter) Lite
The PWA delivers 65% more tweets sent, 75% more pages visited, and a 20% decrease in bounce rate versus the legacy mobile web. X now maintains both native apps and the PWA as parallel channels targeting different network conditions and user segments.
The Washington Post
Their PWA loads in under 80 ms on repeat visits via service worker caching. Subscribers get near-instant article load regardless of network quality — an improvement the editorial team credits with measurable subscription retention gains in 2025.
Forbes
After switching to a PWA-first architecture: 12% increase in readership, load time dropped from 6.5 s to under 3 s, and a 43% increase in sessions per user. The biggest gains came from users on mid-range Android devices in emerging markets.
The pattern is consistent: PWAs win when the acquisition channel is web (SEO, social, email) and the primary KPI is breadth of reach. Native wins when the primary acquisition channel is the App Store and the KPI is daily active retention. Most mature products need both — and the hybrid approach below addresses that path.
Cost, time-to-market & performance compared
These numbers are based on our own delivery data for US and EU clients across 2024–2026 and our mobile app development cost benchmarks for 2026. Team configuration: 1 PM, 1 designer, 2–3 engineers, 1 QA. Scope: 8–12 screens, auth, push, payments, analytics.
| Dimension | Web App | PWA | Native (iOS + Android) |
|---|---|---|---|
| Build cost (typical range) | $30k–$80k | $40k–$100k | $80k–$250k |
| Time to first usable build | 4–6 weeks | 5–8 weeks | 8–14 weeks |
| Codebases to maintain | 1 | 1 | 1–2 (cross-platform or native) |
| App store review delays | None | None | 24–72 h per release |
| Hot-fix deployment | Instant | Instant (service worker update) | OTA for JS (RN); review for Flutter/native |
| Organic App Store discoverability | None | Limited (Google Play Trusted Web Activity) | Full App Store & Play Store SEO |
| Installation friction | Zero (URL) | Low (browser prompt) | High (App Store download) |
The cost delta between a web app and a PWA is small — often just the service worker setup and manifest configuration, which adds one to two weeks of engineering work to an existing project. The delta between a PWA and native is where the real decision lives. See also our page on our web application development service for how we scope these projects.
Performance benchmarks: what users actually feel
Cost drives the build decision; performance drives the retention decision. Here's how the three approaches compare on the metrics that users notice day-to-day, based on 2025–2026 benchmark data from Chrome DevTools field reports and Lighthouse lab measurements.
| Metric | Web App (browser tab) | PWA (installed) | Native (iOS / Android) |
|---|---|---|---|
| Rendering frame rate | 30–50 fps | 45–55 fps | 60 fps (locked) |
| Cold start (first visit) | 3–5 s (uncached) | 1–3 s (SW pre-cache) | <1 s (installed binary) |
| Repeat visit load | 2–4 s | 50–200 ms (full cache hit) | <500 ms |
| Offline capability | None | Full (cached routes + background sync) | Full (local DB) |
| Battery impact | Higher (persistent browser process) | Moderate | Optimised (OS scheduling) |
| Typical install size | 0 MB (no install) | 0.5–5 MB (manifest + icons) | 20–200 MB |
| Complex animation / GPU | Limited | WebGL / WebGPU (≈ native on modern hardware) | Full Metal / Vulkan |
For most business apps — dashboards, e-commerce, SaaS, content readers — an installed PWA's performance is indistinguishable from native in everyday use. The gap opens in real-time 3D (games, AR), continuous background processing (fitness trackers, navigation), and on lower-end Android devices where WebView overhead is more pronounced.
Offline, push & device features
Offline capability and push notifications are the two reasons teams most often cite for going native instead of web. In 2026, a PWA handles both for most use cases. Here's the honest breakdown.
Offline access
A service worker can pre-cache all your assets and even API responses, so a PWA keeps working with no connection at all. It behaves the same on iOS and Android. The hard part isn't caching — it's deciding what to cache and how to resolve write conflicts. A user who submits an order form offline needs background sync to flush that write once connectivity returns. Google's Workbox library keeps service worker authoring manageable in React and Vue apps. And if your app is a static content reader, a product catalogue, or a read-only dashboard, "offline" is a one-sprint feature on a PWA.
Push notifications
Web Push (RFC 8030) is now supported on Chrome (Android), Safari (iOS 16.4+, macOS Ventura+) and Firefox. The permission UX is nearly identical to native push — users see a system-level prompt and can manage permissions in OS settings. Delivery rates in our 2025 campaigns for EU e-commerce clients averaged 78–85% of what equivalent native push achieved, which is within acceptable range for most products. The main gap: push does not work if the PWA is opened in a browser tab without being installed to the home screen on iOS.
Device features: the honest picture
| Feature | PWA (iOS) | PWA (Android) | Native |
|---|---|---|---|
| Camera & microphone | Yes | Yes | Yes |
| Geolocation | Foreground only | Foreground only | Background + foreground |
| Push notifications | Yes (installed PWA) | Yes | Yes |
| NFC | No | Experimental | Yes |
| ARKit / ARCore | No | No | Yes |
| Bluetooth LE | No | Yes (Web Bluetooth) | Yes |
| Biometric auth | WebAuthn / Face ID | WebAuthn / fingerprint | Full platform biometrics |
| In-app purchases | No (Apple policy) | Payment Request API | Full App Store / Play billing |
Distribution, app stores & discoverability
Distribution is where native still has a structural advantage that a PWA cannot fully replicate.
App Store discoverability
The App Store and Google Play together drive a significant share of new app installs, particularly for consumer apps in the US. App Store search accounts for 65–70% of app discovery in the US according to multiple 2025 studies. A PWA does not appear in these search results unless you wrap it in a Trusted Web Activity (TWA) and submit it to Google Play — which some teams do successfully. Apple does not allow PWA submissions to the App Store.
For B2B and enterprise products, this matters much less. Users find B2B tools via Google search, sales conversations and product-led growth loops — not the App Store. A web app or PWA is actually advantageous here because zero-installation means shorter time from awareness to first value.
The EU regulatory angle
The EU Digital Markets Act (DMA) has required Apple to allow alternative app distribution in the EU since March 2024. In practice, side-loading via web pages and alternative marketplaces is now legally permitted for EU users on iOS. This shifts the discoverability calculus for EU-focused products — it no longer requires an App Store listing to reach iPhone users with an installed experience. The practical implementation is still maturing, but it is worth factoring into multi-year product strategy.
If your product targets the US and EU consumer markets with a strong organic App Store presence as a growth lever, native is the right choice. If you are building B2B SaaS, an internal tool or a product where search and direct links drive acquisition, a PWA covers your bases. Read our comparison of iOS vs Android: which platform first for the US-vs-EU platform split context.
Security & compliance
Security architecture differs meaningfully across the three approaches. For EU products under GDPR and US products under HIPAA, CCPA or PCI DSS, understanding where the boundaries lie matters before you commit to a technology stack.
PWA security model
- HTTPS mandatory: Service workers require a secure context. No HTTPS, no PWA — which is a feature, not a limitation. It forces TLS encryption end-to-end with no accidental HTTP fallback.
- Same-origin policy: Service workers are scoped to the registering origin and cannot intercept requests to other domains. Your service worker cannot read another site's responses, and theirs cannot touch yours.
- Storage sandboxing: IndexedDB and Cache API storage is sandboxed per origin and subject to browser quotas. Browsers may evict storage under pressure — design for this if you persist sensitive data locally.
- Content Security Policy: PWAs support full CSP headers, reducing XSS exposure. A strict
script-src 'self'policy pairs well with service worker isolation.
Native app security model
- Binaries are code-signed and pass App Store / Play Store review — a layer of malware screening absent from direct web distribution.
- Keychain (iOS) and Keystore (Android) provide hardware-backed credential storage, more robust than browser equivalents for long-lived tokens.
- Background execution is tightly OS-scheduled, reducing the attack surface compared to an always-on browser tab.
Compliance summary (GDPR, HIPAA, PCI DSS)
| Requirement | Web App / PWA | Native App |
|---|---|---|
| Data transit encryption (TLS) | Enforced by HTTPS requirement | App-level (NSAppTransportSecurity / network_security_config) |
| Tracking consent (GDPR) | Browser cookie banners; same rules as any web property | In-app consent dialogs; ATT prompt on iOS (IDFA) |
| Biometric MFA (HIPAA) | WebAuthn / FIDO2 — meets HIPAA MFA requirements | Platform biometrics (Touch/Face ID, Fingerprint) |
| Card data (PCI DSS) | Stripe Elements / Braintree iframe — never handle raw PANs in JS | Stripe SDK / Apple Pay / Google Pay |
| Audit logging | Server-side only; no tamper-proof local log in browser | Server-side; same limitation |
Our take: for HIPAA and PCI DSS workloads, a PWA is viable when correctly implemented — HTTPS, CSP, WebAuthn for MFA, Stripe for payments. The choice should hinge on use-case requirements, not a blanket assumption that native is "more secure". See our enterprise software development service page for how we scope compliant architectures.
The hybrid approach: PWA now, native later
The most pragmatic pattern we see in 2026 is not a binary choice but a sequenced strategy. For most products, the right roadmap is:
- Launch a PWA first (months 1–4): ship to all platforms with one codebase, acquire users from search, validate core use cases, measure retention. Budget: $40k–$100k.
- Identify the native gap (months 4–8): once you have retention data, you know which specific features users want that a PWA cannot deliver — background GPS, NFC, camera ML, widget slots, CarPlay. If those features are not in the top 20% of requested improvements, native is premature.
- Build native selectively (months 8–18): wrap the PWA in a React Native or Flutter shell for App Store distribution and add only the native modules your retention data justifies. Your web codebase stays the source of truth; native is the distribution layer.
Companies like Starbucks, Spotify and Uber run all three in parallel — a native flagship, a PWA for web-entry users, and a responsive web app for desktop power users. You do not need to pick one forever. Pick the right one for where you are today, and leave the door open for the next step.
Decision matrix
Use this table to score your situation. For each row, mark which column applies. The column with the most marks is likely your answer — but weight the rows by their importance for your specific product.
| Decision factor | Web App | PWA | Native |
|---|---|---|---|
| Primary user acquisition channel | Search, links, sales | Search + re-engagement | App Store organic |
| Budget | $30k–$80k | $40k–$100k | $80k+ |
| Audience type | B2B, internal, enterprise | B2C, e-commerce, media | Consumer, high-retention apps |
| Push notifications needed | No | Yes (standard) | Yes (maximum control) |
| Offline usage required | No | Yes (most scenarios) | Yes (complex sync) |
| Hardware APIs (NFC, AR, BLE, background GPS) | No | Partial (Android) | Full |
| Time-to-market priority | Fastest | Fast | Slower |
| Monetisation via in-app purchases | No (use Stripe) | Web payments only | Full platform billing |
| Deployment agility (hot-fix speed) | Instant | Instant | 24–72 h review |
One pattern we see repeatedly with US and EU startups: they build native too early. A PWA launched in month 3 at $60k that validates product-market fit is far more valuable than a $180k native app launched in month 9 that nobody uses. Native makes sense once retention data proves that daily active use and App Store discoverability are worth the investment — not as a starting assumption.
FAQ
Is a PWA cheaper than a native app?
Yes, in most cases. A PWA is built on shared web technologies, so you maintain one codebase instead of separate iOS and Android builds. Development cost is typically 40–60% lower than two native apps. If you need deep hardware integration or strong App Store presence, native pays back the premium.
Can a PWA work offline?
Yes. A service worker can cache assets, API responses and full pages so the app functions without a connection. Read-heavy apps (content, dashboards, catalogues) can be fully offline-capable. Write-heavy apps need background sync to queue writes and flush when connectivity returns.
Do PWAs work on iOS in 2026?
Better than ever. Apple shipped Web Push support in Safari on iOS 16.4 and has continued improving it. Installed PWAs on iOS receive push notifications, appear on the home screen and run in a standalone window. Gaps remain — NFC, ARKit and HealthKit are native-only — but iOS is no longer a blocker for most PWA use cases.
When should I build a PWA instead of a native app?
Build a PWA when your audience is broad and acquisition-driven, when budget is constrained, or when core use cases work without deep hardware access. PWAs excel for e-commerce, media, B2B dashboards and SaaS tools. Stick with native when you need ARKit/ARCore, background location, NFC payments or tight OS integrations like CarPlay.
Is a web app good enough instead of a mobile app?
For most B2B SaaS and internal tools, a responsive web app is the right first choice — it reaches every device, requires no installation and is easiest to iterate. The question shifts when retention matters: push notifications, home-screen presence and offline access improve daily active use significantly. If that KPI is critical from day one, invest in at least a PWA.
Can I turn my web app into a PWA later?
Yes, and it is often the right progression. Adding a service worker, a Web App Manifest and HTTPS to an existing web app can take one to two weeks for a senior engineer. If your app is already built on React, Vue or Angular, Workbox makes service worker authoring straightforward. The main prerequisite is HTTPS on every page.
Is it better to launch a PWA first and add native later?
Yes — for most products this is the optimal sequencing. A PWA lets you validate product-market fit across all platforms at 40–60% of the native cost. Once you have real retention data, you know which native-only features users actually need (background GPS, NFC, CarPlay, hardware ML). Build a native shell only for those specific capabilities. This avoids a $180k native bet before you have proof of demand, and companies like Starbucks, Twitter/X and Spotify have proven the model at scale.
Are PWAs secure enough for fintech or healthcare apps?
Yes, when implemented correctly. HTTPS is mandatory for service workers, enforcing TLS end-to-end. Service workers are origin-scoped and cannot intercept cross-domain traffic. WebAuthn (FIDO2) meets HIPAA multi-factor authentication requirements. PCI DSS compliance is achievable using Stripe Elements or a similar payment iframe — never handle raw card data in JavaScript. The security model differs from native but is equally rigorous when applied correctly. For highly regulated workloads, pair HTTPS + CSP + WebAuthn + server-side audit logging and you will satisfy GDPR, HIPAA and SOC 2 requirements without touching native code.
Last updated 4 September 2026. Expanded with real-world brand data (Starbucks, Twitter/X Lite, Forbes, The Washington Post), performance benchmarks, security & compliance guidance, and the hybrid PWA-to-native sequencing strategy. PWA capability data reflects Chrome 127, Safari 17.6 and the W3C Web Platform baseline. Platform support changes quickly — verify against MDN for the latest per-API status.


