PWA

A Progressive Web App (PWA) is a web application that uses modern browser capabilities to behave more like a native app: installable to the home screen, offline-capable, sending push notifications, and accessing hardware features through web APIs. PWAs deliver mobile-app-like experiences without app store distribution.

Core technologies

  • Service Workers. Scripts that run in the background, intercept network requests, and enable offline access and push notifications.
  • Web App Manifest. A JSON file describing the app: name, icons, theme colour, start URL, display mode (standalone, fullscreen).
  • HTTPS. Required for service workers and most modern web APIs.
  • Installability. Browsers prompt installation when the manifest and service worker meet criteria; installed PWAs appear with their own icon.

What PWAs can do

  • Work offline or in poor connectivity via service-worker caches
  • Receive push notifications (limited on iOS until iOS 16.4+)
  • Run in fullscreen / standalone, hiding browser chrome
  • Access camera, microphone, geolocation, sensors via web APIs
  • Sync data in the background when connectivity returns

Tradeoffs versus native

  • Pros. Single codebase across web and mobile; no app store gatekeeping; instant updates; lower distribution cost.
  • Cons. Limited access to platform APIs (especially on iOS); no presence in native app stores by default; lower visibility for discovery.
🔗

Subscribe to Sahil's Playbook

Clear thinking on product, engineering, and building at scale. No noise. One email when there's something worth sharing.
[email protected]
Subscribe
Mastodon