TL;DR
- PWA is the right choice for content sites, e-commerce light, internal tools, and budget-constrained projects: costs 40–65% less than native.
- Native apps win for gaming, complex device integration, consumer brand experiences, and when App Store discoverability matters.
- PWA costs £15k–£40k; native dual-platform costs £60k–£150k.
- iOS Safari PWA limitations remain a real constraint in 2026: understand them before committing to PWA for iOS-heavy audiences.
- Use Next.js + Workbox or Vite PWA plugin for modern PWA tech stacks.
What Is a Progressive Web App?
A Progressive Web App (PWA) is a web application that uses modern browser APIs to deliver capabilities traditionally associated with native apps. These include offline functionality, home screen installation, push notifications, and reliable performance on unstable networks. The term was coined by Google engineers Alex Russell and Frances Berriman in 2020. PWA adoption has grown substantially since then: used by Starbucks, Twitter/X, Pinterest, Spotify, and major UK retailers.
PWAs are built with standard web technologies, HTML, CSS, and JavaScript, and run inside the device's browser engine. This means a single codebase works across iOS (Safari), Android (Chrome), and desktop (Chrome, Edge, Firefox, Safari). It also runs on any other browser-equipped device without platform-specific development.
The Three Core PWA Technologies
1. Service Workers
A Service Worker is a JavaScript file that runs in the background, separate from the main browser thread. It acts as a programmable proxy between the web app and the network. It intercepts fetch requests and decides whether to serve from cache (for offline capability) or the network. Service Workers also enable background sync (queuing actions to complete when connectivity is restored) and are the foundation of Web Push notifications. A well-implemented service worker is what separates a fast, reliable PWA from a regular website.
2. Web App Manifest
A JSON file that tells the browser how the app should appear when installed: the app name, short name, icons (multiple sizes for different devices), theme colour, background colour, display mode (fullscreen, standalone, minimal-ui), and start URL. When a user installs the PWA, the browser reads the manifest to create the home screen icon and control the app's launch behaviour. The standalone display mode removes the browser chrome: creating an experience visually indistinguishable from a native app for content-driven applications.
3. HTTPS
Service Workers and PWA installation require HTTPS: serving over an insecure HTTP connection is not permitted. This is both a security requirement and good practice. In 2026, HTTPS is table stakes for any web property. You'll need a valid TLS certificate and proper HTTPS configuration across all pages of the PWA, including API calls. Let's Encrypt provides free certificates. Cloud providers like Cloudflare, AWS CloudFront, and Vercel handle TLS automatically.
PWA Capabilities in 2026
The gap between PWA and native capabilities has closed significantly since 2020. In 2026, PWAs running in modern Chromium-based browsers on Android can access:
Storage
IndexedDB, Cache API, Origin Private File System: up to 60% of available device storage
Connectivity
WebSockets, WebRTC, Background Sync, Periodic Background Sync (limited)
Device APIs
Camera (MediaDevices), Geolocation, Vibration, Device Orientation, Gamepad API
Modern APIs
Web Bluetooth, Web NFC, Web Share, Web Payments, Barcode Detection API, Screen Wake Lock
Notifications
Web Push via VAPID, Notification API with actions, badge count on Chrome/Android
Performance
WebAssembly for near-native computation, WebGL/WebGPU for GPU-accelerated graphics
Native App Advantages
Despite the browser's growing capabilities, native apps retain meaningful advantages in specific areas:
- Full hardware access: ARKit/ARCore for augmented reality, advanced Bluetooth LE profiles, Core Motion for precise sensor data, ProMotion display (120Hz) APIs, background audio with media controls, background location tracking. These are all either impossible or severely limited in a PWA.
- Superior performance for compute-intensive tasks: A native app uses the Metal (iOS) or Vulkan (Android) graphics APIs directly. JavaScript and even WebAssembly cannot match the performance of compiled Swift or Kotlin for graphics-intensive or real-time signal processing applications.
- App Store discoverability: Millions of users in the UK, US, Canada, and Australia discover apps by searching the App Store or Google Play. PWAs have no equivalent store presence: you rely entirely on web search and direct marketing.
- Background processing: Native apps can run background tasks (sync, location, audio, health data collection) subject to platform policies. PWAs have extremely limited background execution: primarily background sync triggered by service worker events.
- Biometric authentication without browser overhead: Face ID and Touch ID can be used directly from native code with zero UI friction. WebAuthn enables biometrics from a PWA but with browser-mediated UI that breaks immersion.
- Consumer brand perception: For consumer-facing applications where the app experience is core to the brand, think a luxury retail app or a premium fitness application, native's superior animations, haptic feedback API access, and platform-native interactions create a quality differential that matters to users in competitive markets.
PWA vs Native: 10+ Dimension Comparison
| Dimension | PWA | Native App |
|---|---|---|
| Installation | Via browser "Add to Home Screen" prompt: no store required | App Store / Google Play: review process adds 1–7 days per update |
| Performance | Good for most use cases; WebAssembly closes gap for compute tasks | Superior for graphics, real-time processing, and CPU/GPU-intensive tasks |
| Offline capability | Excellent: service worker caching strategies (cache-first, stale-while-revalidate) | Excellent: full SQLite/Core Data, background sync, complex offline logic |
| Push notifications | Yes on Android + desktop; iOS requires home screen installation (iOS 16.4+) | Full: APNs (iOS) and FCM (Android), all delivery guarantees |
| Camera / GPS / Bluetooth | Camera (MediaDevices), GPS (Geolocation): Bluetooth limited to Web Bluetooth on Chrome | Full access: all camera controls, background GPS, BLE profiles, NFC |
| App Store presence | No: distributed via URL only | Yes: App Store and Google Play search discoverability |
| Development cost | £15,000–£40,000 for a quality PWA | £60,000–£150,000 for dual-platform native |
| Update deployment speed | Instant: update the web server, all users get it on next visit | 1–7 days App Store review; users must update manually unless auto-update is on |
| Developer pool | Large: any web developer with JavaScript experience can build a PWA | Smaller: requires specialist Swift/Kotlin skills; higher salaries (£55k–£90k UK) |
| SEO | Full SEO: content is indexable by search engines | No web SEO: App Store optimisation (ASO) is a separate discipline |
| In-app purchases | Via web payment APIs or external payment processors (Stripe): no 30% Apple cut | Apple/Google take 15–30% of in-app purchase revenue |
iOS Safari PWA Limitations in 2026
iOS Safari's PWA support has historically been Apple's most contested platform decision. In 2026, the situation is significantly better than 2020. But it still has material limitations that UK and Australian product teams targeting iPhone users must understand:
Current iOS Safari PWA Limitations (as of May 2026)
- Web Push: Supported from iOS 16.4 only, and only when the PWA is installed to the home screen. Users on older iOS versions cannot receive push notifications from PWAs.
- Storage limits: iOS has historically been more aggressive about evicting PWA storage. Apps that haven't been opened in a few weeks may lose cached data: problematic for offline-first apps.
- Background sync: Not supported. Actions queued offline cannot automatically sync in the background when connectivity is restored: the user must open the app.
- Web Bluetooth and NFC: Not supported on iOS Safari at all.
- Share Target API: Not supported: iOS PWAs cannot register as a target for the system share sheet.
- EU exception: Apple's compliance with the EU Digital Markets Act has opened the door to third-party browser engines on iOS in Europe, which may expand PWA API support for European users over time as browsers like Chrome can now deploy their full engine on iOS in Europe.
When PWA Is the Right Choice
Content and News Apps
The Washington Post, The Guardian, and Financial Times all use PWAs as their mobile web experience. Reading content, browsing articles, searching: all work perfectly in a PWA with offline reading via service worker caching. For UK news publishers and content platforms across Australia and Canada, a PWA can serve 80%+ of mobile use cases. It does this at a fraction of the native app cost.
E-Commerce (Lighter Use Cases)
Product browsing, cart management, and checkout work well as a PWA. Starbucks' PWA increased daily active users by 2x. AliExpress's PWA drove a 104% increase in conversion rates for new users across all browsers. For UK and Australian e-commerce businesses without complex AR try-on features or intensive video, a PWA is a strong choice. This is especially true when the 30% Apple App Store cut on in-app purchases is a concern.
Internal Business Tools
Dashboards, field service tools, inspection forms, data entry applications: these are ideal PWA candidates. Internal deployment avoids App Store review entirely. Updates are instant. Push a fix to the web server and all 500 employees in your Canadian and European offices get it immediately. No MDM app distribution challenges, no waiting for users to update. Many US and UK enterprises have replaced native field apps with PWAs for exactly these reasons.
Budget-Constrained Projects
For a startup in the UK or Australia validating a mobile use case with limited capital, a PWA is ideal. It delivers 60–80% of native functionality at 30–40% of native cost. Ship the PWA to validate user behaviour and willingness to engage. Then invest in a native app when you've proven the market and raised further funding.
When Native Apps Win
Gaming: Game development requires Metal (iOS) or Vulkan (Android), physics engines, and precise input handling. WebGL/WebGPU cannot yet match this for AAA or even mid-tier mobile games. Game studios in the UK, US, and Canada almost universally ship native games.
AR/VR: ARKit on iOS and ARCore on Android provide device-optimised world tracking, plane detection, and object recognition. These far outperform WebXR in stability and capability. For retail try-on, industrial AR overlays, or training simulations: native is the only viable option.
Complex device integration: If your app's core value involves advanced Bluetooth LE device pairing, NFC tag reading, background GPS tracking, HealthKit/Health Connect integration, or real-time audio processing: these require native APIs. Think IoT device controllers, healthcare wearable companions, or logistics apps requiring constant location updates.
Consumer brand flagship apps: For consumer companies, the app is often the primary brand touchpoint: think fintech apps for UK neobanks, lifestyle apps for Australian wellness brands, or retail apps for US fashion brands. Here, the native UI quality, smooth animations, and haptic feedback create an experience differential that justifies the development cost.
PWA Tech Stack in 2026
Recommended PWA Stack
- Framework: Next.js 15 (React, SSR/SSG for SEO) or Vite + React/Vue (SPA for internal tools). SvelteKit is gaining traction for high-performance PWAs.
- Service Worker: Workbox (Google): the industry standard library for service worker caching strategies. Integrates with Next.js via next-pwa and with Vite via vite-plugin-pwa.
- Caching strategy: Cache-first for static assets; Stale-While-Revalidate for API data; Network-first for real-time data; Offline fallback for core pages.
- State management: TanStack Query or SWR for server state (with built-in caching); Zustand or Redux Toolkit for local state.
- Offline storage: IndexedDB via Dexie.js or idb: relational-ish storage that works offline. For complex data sync, consider RxDB or PowerSync (built on SQLite).
- Push notifications: web-push library (Node.js backend) + VAPID protocol for server-sent push; Firebase Cloud Messaging as a managed alternative.
- Hosting: Vercel or Netlify for Next.js; Cloudflare Pages for edge-deployed SPAs. All provide free TLS, which is required for PWA.
Lighthouse PWA Score
Google's Lighthouse auditing tool (built into Chrome DevTools) measures PWA compliance across several criteria:
- Installable: Valid web app manifest with required fields; service worker registered with a fetch event handler; served over HTTPS
- PWA Optimised: HTTPS redirect from HTTP; valid apple-touch-icon; no console errors; viewport meta tag present; themed address bar; page doesn't redirect
- Run Lighthouse in Chrome DevTools → Lighthouse tab → select Progressive Web App to get your full PWA audit
- Target a Lighthouse Performance score of 90+ alongside full PWA compliance: this correlates directly with conversion rates for UK and Australian e-commerce PWAs
Real-World Examples
Starbucks (US, Canada, UK): PWA Success
Starbucks built a PWA for their ordering experience that works offline. Customers can browse the menu and build their order without internet, then place it when they reconnect. The PWA is 99.84% smaller than their iOS app. Daily active users doubled after launch. Starbucks operates in the UK, Canada, Australia, and across Europe. The PWA serves all markets from a single codebase with no per-market App Store approval process.
Australian Field Service Company: Internal PWA
A Sydney-based utilities company replaced their legacy native Android field service app with a PWA. Field technicians in rural Australia often work in areas with intermittent connectivity. The PWA's offline-first design lets them complete job reports, capture photos, and record GPS locations offline. It syncs when they return to connectivity. Development cost was 40% lower than rebuilding natively. Deployments are instant: no MDM push cycles or version conflicts across their 200-device fleet.
Cost Comparison: PWA vs Native
PWA: £15,000–£40,000 | 8–16 Weeks
Includes design, web app development, service worker implementation, push notifications, offline caching, web app manifest, and hosting setup. Cheaper ongoing maintenance and instant deployments mean lower total cost of ownership over three years.
Native (iOS + Android): £60,000–£150,000 | 20–36 Weeks
Two separate codebases (or cross-platform with Flutter/React Native at the lower end), App Store fees ($99/year Apple, $25 one-time Google), review cycles for every update, and higher ongoing maintenance cost for platform OS updates. Better capability ceiling and stronger App Store discovery.