Progressive Web Apps combine web and native app capabilities, delivering app-like experiences through browser technologies. Built on service workers, web app manifests, and HTTPS, PWAs work offline, install to home screens, and send push notifications — all without app store gatekeeping. The critical insight: PWAs don't replace websites or native apps; they bridge the gap by giving web content the reach of URLs and the engagement of apps. As of 2026, all major browsers — Chrome, Edge, Firefox (v143+ on Windows), and Safari — support web apps to varying degrees, with service workers now controlling roughly one fifth of all web properties.
What This Cheat Sheet Covers
This topic spans 21 focused tables and 138 indexed concepts, 122 flashcards. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Core Requirements
Installability requires meeting a minimum set of criteria; browsers check these automatically and surface an install prompt when met. Understanding exactly which requirements apply to which browser prevents wasted debugging effort.
| Requirement | Example | Description | |
|---|---|---|---|
https://example.com | • Mandatory for service workers and most PWA APIs • localhost/127.0.0.1 exempt for development • prevents man-in-the-middle attacks on cached assets. | ||
<link rel="manifest" href="/manifest.json"> | • JSON file defining app name, icons, display mode • linked from HTML • enables installation prompt and appearance customization. | ||
navigator.serviceWorker.register('/sw.js') | • JavaScript proxy between web app and network • enables offline functionality, push notifications, and background sync • runs independently of page. | ||
"icons": [{"src": "icon-192.png", "sizes": "192x192"}] | • Minimum 192×192 and 512×512 PNG icons required • displayed on home screen, task switcher, and splash screen. | ||
HTTPS + valid manifest + name + icons | • Chrome and Edge now require only HTTPS + manifest with name and icons — service worker no longer required for the install prompt in Chromium browsers • triggers beforeinstallprompt when met. |