Glossary · Definition
PWA
A PWA (Progressive Web App) is a website that meets a small set of criteria — HTTPS, service worker, web app manifest — so browsers offer 'install this site' as an app. Once installed, it runs full-screen, gets a home-screen icon, and can work offline.
Definition
A PWA (Progressive Web App) is a website that meets a small set of criteria — HTTPS, service worker, web app manifest — so browsers offer 'install this site' as an app. Once installed, it runs full-screen, gets a home-screen icon, and can work offline.
What it means
Three pieces: (1) HTTPS — required for service workers and most modern web APIs. (2) Service worker — JS that intercepts network requests and serves cached responses, enabling offline + background sync. (3) manifest.json — declares the app name, icons (with maskable variants), start_url, display mode (standalone / minimal-ui), theme color. Browsers auto-detect these and prompt 'Add to Home Screen' / 'Install'. Once installed, the PWA opens in its own window without browser chrome — looks and feels native-ish. Modern browsers also expose APIs traditionally native-only: Push notifications, Background Sync, File System Access, Web Bluetooth (Chromium only), camera/mic via WebRTC.
Advertisement
Why it matters
PWAs are the right answer for: content-heavy sites that want home-screen presence (news, blogs, tool catalogs), apps where 'install ceremony' is friction (Twitter, Pinterest, Starbucks all ship PWAs alongside native), and platforms where your audience won't install a real native app. They're NOT the right answer for: heavy 3D games (use native or wasm), apps needing deep OS integration (cron-style background tasks, system-wide overlays, advanced biometric auth), or apps requiring specific App Store distribution (Apple's App Store still has more reach than the Web for some audiences).
Frequently asked questions
Can a PWA live in the App Store?
Yes via PWABuilder or Capacitor wrappers. Apple has historically been hostile to PWAs in the App Store but accepts wrapped versions. Microsoft Store and Google Play both accept PWAs directly via separate flows.
Service worker, what's the catch?
Service workers update on the next visit AFTER they detect a new version, which means returning users see the OLD shell first. Cache invalidation strategies (cache versioning, network-first for HTML, stale-while-revalidate) all matter. Get this wrong and your 'PWA' serves stale content for hours after a deploy.
What about Web Push on iOS?
iOS 16.4+ supports Web Push for installed PWAs (not Safari tab pages). Coverage is now broad enough to actually use; before iOS 16.4, push was Android-only on the web.
Related terms
- DefinitionSPAA SPA (Single-Page Application) loads one HTML page and one JS bundle, then uses JavaScript to swap content as the user navigates — no full-page reload between routes. React, Vue, Svelte, Angular all enable SPAs by default. The pattern dominated 2014-2020.
- DefinitionSSGSSG (Static Site Generation) renders pages to plain HTML at build time. The output is a folder of static files servable from any web server or CDN. No database queries at request time, no server cost, no SSR latency.
- DefinitionHTTPSHTTPS is HTTP wrapped in a TLS-encrypted tunnel. Everything between your browser and the server — URLs, form data, cookies, response bodies — is encrypted in transit so a network observer (cafe Wi-Fi, ISP, anyone in between) can't read it or change it.