Progressive Web Apps have been “the future of mobile” for a decade. The debate continues. This guide gives a clear-eyed view of what PWAs actually deliver in 2025, where they fall short, and when to choose them over native apps.
What Is a PWA?
A PWA is a website that behaves like a native app. Using modern browser APIs, it can be installed on a home screen, work offline, send push notifications, and load quickly. Core technical components: HTTPS (required), a Web App Manifest (install instructions for the browser), and a Service Worker (enables offline functionality and background sync).
What PWAs Do Well in 2025
Installation without App Store: Users install from the browser — no App Store friction. On Android this works seamlessly. On iOS, users use Share → Add to Home Screen (more manual, but functional).
Offline functionality: Service workers cache content for offline use. A news app shows cached articles without connection. Particularly valuable in emerging markets with unreliable connectivity.
Single codebase: Your responsive web app, with PWA features added, serves as both desktop website and mobile app. One team, one codebase, one deployment — the strongest cost argument against native.
Push notifications: Works well on Android via Chrome. iOS support has improved significantly in iOS 16.4+ and iOS 17. For re-engagement campaigns, this was previously a native-only capability.
Where PWAs Still Fall Short
iOS limitations: Apple has historically limited PWA capabilities. Advanced camera controls, Bluetooth, NFC, ARKit, and reliable background sync remain restricted. If your app needs deep iOS integration, native is required.
App Store discoverability: Native apps get discovered through store search, featured lists, and editorial picks. PWAs are web-only — no store presence. For consumer apps where organic App Store discovery matters, this is a real disadvantage.
Complex hardware integration: Biometrics (Face ID, fingerprint beyond WebAuthn), advanced BLE, background GPS, NFC, contacts — remain limited or unavailable in PWAs.
High-performance UIs: For animation-heavy apps, games, or AR experiences, native significantly outperforms PWAs. Flutter’s Impeller and native Metal rendering deliver experiences browsers can’t match.
When to Build a PWA
- Your product is primarily a web app needing mobile access without deep device integration.
- Budget constraints make maintaining separate iOS and Android apps impractical.
- Your audience is Android-heavy (PWA capabilities most complete on Android).
- Business tools and dashboards where users want a phone shortcut.
- E-commerce where offline browsing and fast loading are the mobile improvements needed.
When to Build Native
- Deep hardware access needed — advanced camera features, BLE, NFC, background GPS.
- App Store discoverability is important for your growth strategy.
- iOS-heavy audience with complex UI requirements.
- Gaming, AR, or performance-critical interactive experiences.
The Middle Path: Capacitor
Capacitor (from Ionic) wraps a web app in a native shell — App Store distributable, some native API access via plugins, built from your existing web codebase. Better than PWA for App Store presence; simpler than full native development. Worth evaluating when you need App Store distribution but want to reuse web code.