Skip to content

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 aes128gcm to Workbox, each with a precise definition, its API or spec, the key support caveat and a link to the in-depth page.

    Glossary

  • 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.

    API Cheat Sheet

  • 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.

    Manifest Cheat Sheet

  • FAQ


    Short, verified answers to more than 50 questions about iOS, installation, offline caching, push, SEO, performance, app stores and security.

    FAQ

  • Resources & Specifications


    The W3C, WHATWG and IETF specifications, browser vendor documentation, compatibility data and tools behind every page on the site.

    Resources & Specifications

  • Tags


    Browse every page by topic tag: Service Worker, Caching, Push, Installation, iOS, Android, Performance, Security and more.

    Tags

  • About This Site


    How pages are researched, sourced and dated, what the site covers, and its editorial principles.

    About This Site

  • This Site Is a PWA


    How this guide itself works offline and installs: its manifest, service worker, caching strategies and offline fallback.

    This Site Is a PWA

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:

  1. Fundamentals defines what a PWA is and what makes one installable.
  2. Core technologies: the Web App Manifest, Service Workers and Caching & Offline.
  3. Capabilities: Background & Engagement (push, sync, badging) and Device & OS Integration.
  4. Distribution: Installation and Platform Support.
  5. Engineering: Performance, Architecture, Tooling, Testing, Security and UX & Design.
  6. 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

External references