PWA Reference¶
The reference section is where you look things up rather than learn them from scratch: the exact name of a manifest member, the signature of pushManager.subscribe(), what "opaque response" means, whether a feature works on iOS, or which specification defines a behavior. The topic sections of this site explain mechanisms in depth. The pages here condense that material into glossaries, cheat sheets and short answers, each linking back to the page with the full explanation. Use this index to find the right reference page, and to learn the conventions that every page on the site follows.
Key takeaways
- The Glossary defines more than 140 PWA terms alphabetically, and separates words with two meanings, such as scope, install and client.
- The API Cheat Sheet and Manifest Cheat Sheet give exact signatures, members, defaults and support at a glance.
- The FAQ answers more than 50 common questions in about a minute each, grouped by topic from iOS to app stores and security.
- Resources & Specifications lists the specs, RFCs, browser documentation and tools that every page cites.
- Support data across the site is dated (September 2026) and uses the same symbols everywhere: ✅ supported, ⚠️ partial, ❌ not supported, 🧪 flag or origin trial.
Reference pages¶
-
Glossary
More than 140 terms from
aes128gcmto Workbox, each with a precise definition, its API or spec, the key support caveat and a link to the in-depth page. -
API Cheat Sheet
Signatures, options, events and support for the service worker, Cache, Push, Notifications, Background Sync, Badging, Web Share and other PWA APIs on one page.
-
Manifest Cheat Sheet
Every web app manifest member with its type, default, install impact and browser support, plus a fully annotated manifest and the legacy meta tags.
-
FAQ
Short, verified answers to more than 50 questions about iOS, installation, offline caching, push, SEO, performance, app stores and security.
-
Resources & Specifications
The W3C, WHATWG and IETF specifications, browser vendor documentation, compatibility data and tools behind every page on the site.
-
Tags
Browse every page by topic tag: Service Worker, Caching, Push, Installation, iOS, Android, Performance, Security and more.
-
About This Site
How pages are researched, sourced and dated, what the site covers, and its editorial principles.
-
This Site Is a PWA
How this guide itself works offline and installs: its manifest, service worker, caching strategies and offline fallback.
Which reference page answers your question¶
The reference pages overlap on purpose, but each is optimized for a different kind of lookup. Pick by the shape of your question:
| You want to know… | Go to | Example |
|---|---|---|
| What a term means, precisely | Glossary | "What is a waiting worker?", "What's the difference between manifest scope and service worker scope?" |
| The exact name, signature or options of an API | API Cheat Sheet | "What does showNotification() accept?", "Which events does a registration fire?" |
| How to spell or configure a manifest member | Manifest Cheat Sheet | "Is it display_override or display-override?", "What values can orientation take?" |
| A quick, practical answer | FAQ | "Does push work on iOS?", "Why do users still see the old version after a deploy?" |
| The authoritative source | Resources & Specifications | "Which spec defines aes128gcm?", "Where is the live compatibility data?" |
| Everything about one topic | Tags | "All pages tagged iOS" |
| Which browser supports what | Platform Support | "Does Firefox support Background Sync?" |
When a reference entry isn't enough, follow its link. Every glossary entry, cheat sheet row and FAQ answer points to the topic page that documents the mechanism, the event order, the edge cases and the production code.
How the reference pages relate to the rest of the site¶
The site is organized the way you build a PWA, and the reference section sits beside that path rather than on it:
- Fundamentals defines what a PWA is and what makes one installable.
- Core technologies: the Web App Manifest, Service Workers and Caching & Offline.
- Capabilities: Background & Engagement (push, sync, badging) and Device & OS Integration.
- Distribution: Installation and Platform Support.
- Engineering: Performance, Architecture, Tooling, Testing, Security and UX & Design.
- Guides: decisions, migrations, SEO, analytics and a production checklist.
The cheat sheets are distilled from sections 2 and 3, the FAQ draws on every section, and the glossary indexes the vocabulary of all of them. If you're new to PWAs, start with What Is a PWA? and Tutorial: Your First PWA, and keep the glossary open in another tab.
The specifications that define a PWA¶
"Progressive Web App" isn't a specification. It's a name for a combination of standards, most of them still evolving. The documents below define the behavior every reference page summarizes. Resources & Specifications lists them all, with links to editors' drafts, explainers and standards positions.
| Specification | Publisher and status (September 2026) | What it defines |
|---|---|---|
| Service Workers | W3C Web Applications WG, Candidate Recommendation Draft | Registration, scope, lifecycle, update checks, fetch events, the Clients API, static routing |
| Web Application Manifest | W3C Web Applications WG, Working Draft | The manifest format, processing, id, scope, display and icons |
| Push API | W3C Web Applications WG, Working Draft | PushManager, PushSubscription and the push event |
| RFC 8030, RFC 8291, RFC 8292 | IETF, Proposed Standards | The Web Push protocol, payload encryption and VAPID |
| Fetch, Storage, Notifications API | WHATWG Living Standards | Requests, responses and CORS; quotas, buckets and persistence; showNotification() |
| Manifest Incubations and other WICG drafts | W3C Community Group reports | Chromium extensions such as file_handlers, protocol_handlers, launch_handler and scope_extensions |
A "Working Draft" or "Community Group" label doesn't mean a feature is unusable: parts of the manifest spec have shipped in every engine for years. It does mean details can change, and that features specified only in incubation documents are usually implemented in one engine. The topic pages label those as Chromium-only or Experimental.
Conventions used on every page¶
Knowing the site's conventions makes the reference pages faster to scan.
Support symbols and dates¶
Support tables use the same legend everywhere:
| Symbol | Meaning |
|---|---|
| ✅ | Supported. A number is the first version with support. |
| ⚠️ | Partial or conditional support. A footnote or note explains the condition. |
| ❌ | Not supported. |
| 🧪 | Behind a flag or available only in an origin trial. |
Every support table carries the line "Support data as of September 2026." and links to MDN and caniuse for live data. Version numbers come from MDN's browser compatibility data, checked against vendor release notes where they disagree. Browser support changes with almost every release, so treat any table as a snapshot and check the live source before you make a product decision.
Support labels¶
- Cross-browser means the feature works in Chromium, WebKit and Gecko, sometimes with platform restrictions that the text states (for example, Web Push on iOS works only in Home Screen web apps).
- Chromium-only means Chrome, Edge, Samsung Internet, Opera and other Blink browsers. On iPhone and iPad, even Chrome uses WebKit, so Chromium-only features are unavailable there.
- Experimental features aren't shipped by default in any stable browser. Pages mark them with a warning admonition and never rely on them without a fallback.
Code samples¶
Code samples are complete files or clearly labeled excerpts, with a file name in the title bar, error handling, and comments that explain why. Where there are alternatives, such as plain JavaScript versus Workbox, or Node.js versus Python push senders, they appear side by side in tabs. Reference pages show short signatures and snippets, and link to topic pages for full implementations.
Terminology¶
The site follows the specifications' vocabulary: a service worker is installed and activated, while a web app is installed by the user. A client is a window or worker a service worker can control. Scope always says whether it means the manifest's or the service worker's. When in doubt, the Glossary entry is the definition the rest of the site uses.
Keeping up with changes¶
PWA support changes several times a year. Recent examples covered on this site include iOS 26 opening every Home Screen site as a web app, Safari's Declarative Web Push, Firefox's desktop web apps on Windows, Chromium's static routing and manifest update changes, and the experimental Web Install API. The fastest ways to track changes yourself are the browser release notes and status pages listed in Resources & Specifications: Chrome Platform Status, the WebKit blog and Safari release notes, Firefox release notes, and Mozilla's and WebKit's standards-positions repositories. The Platform Support section summarizes what those changes mean for PWAs.
Further reading¶
On this site
- Glossary
- FAQ
- API Cheat Sheet
- Manifest Cheat Sheet
- Resources & Specifications
- Platform Support
- About This Site
External references