Progressive Web Apps (PWAs)

The app experience,
without the App Store

A PWA combines the best of web and native: installable on the home screen, working offline, fast via caching; but built with web technology and accessible via a URL.

What a Progressive Web App is

More than just a website
& less than a native app

Fundament
Service Worker
JavaScript · Cache API · Background sync
The Service Worker is the heart of every PWA, which is a JavaScript file that runs as a proxy between the browser and the network. It manages caching, intercepts requests, and enables offline use.
Installation
Web App Manifest
JSON · Icons · Display modes
The manifest defines how the app looks on the home screen: name, icon, splash screen, theme color. With display: standalone, the browser UI disappears and the app opens as a real app.
Perfomance
Caching strategies
Cache first · Network first · Stale-while-revalidate
We select the appropriate caching pattern for each resource. Static assets: Cache First. API data: Stale-while-revalidate. Critical data: Network First with fallback. Workbox handles the heavy lifting.
The fundamental question

Mobile app
or PWA?

PWAs are more powerful than most people think and they are more limited than some agencies claim. Here is the honest comparison.

A PWA is the right choice when…
Installation threshold is too high
Users are willing to visit a URL, but not to download an app. PWAs can be installed via a link.
Limited budget, wide reach
One codebase for iOS, Android, and desktop. No App Store costs, no review delays.
Offline reading or light interaction
News apps, documentation, agendas, forms: use cases that work offline but do not require complex sync.
Fast iteration required
Updates are live as soon as you deploy. No App Store review, no version fragmentation among users.
Choose a native/ hybrid app instead when…
iOS push notifications are critical
Web push on iOS is only available from iOS 16.4 and only in installed PWAs. The implementation is more limited than native push.
Deep hardware use
Bluetooth, NFC, advanced camera features, ARKit/ ARCore, not available in the browser.
App Store presence desired
Discoverability through the App Store and Play Store is essential for many consumer apps. A PWA does not appear in the store.
In-app purchases
Apple and Google's in-app purchase systems are not available in PWAs. Payments run via the web with different margins.
Web APIs

What the browser can do now

Location
Geolocation api
Subtitle
GPS coordinates with permission. Accurate enough for navigation apps, check-ins, and location-based content.
Camera
Mediadevices API
Subtitle
Camera and microphone access via getUserMedia. Taking photos, scanning QR codes, video recording, all located in the browser.
Storage
IndexedDB & Storage
Subtitle
Store large amounts of data offline via IndexedDB. In combination with the Cache API, a complete offline experience is possible.

Network
Background sync
Subtitle
Actions performed when the connection returns. Form submitted offline? It is automatically sent once there is a network.
Notifications
Push & Notifcations API
Subtitle
Push messages via the Push API, visible even when the app is closed. Widely available on Android, on iOS in installed PWAs.
Sharing
Web share API
Subtitle
Call the OS native share sheet from the browser. Share content via WhatsApp, Mail, Notes without custom implementation.

A PWA is not half an app. It is a deliberate choice for the right platform and the right use case.

Cases

PWA in practice