Progressive Web App (PWA)

Progressive web app PWA

Glossary

A progressive web app (PWA) is a web application that feels like a native app: installable on the home screen, capable of running offline, able to receive push notifications and running full-screen without browser chrome. Technically it remains a website, delivered over HTTPS and rendered by the browser, but with two additional core components (service worker + web app manifest) that make the app character possible in the first place. The term was coined by Google in 2015 and is today an established standard of the modern web.

What makes an app a PWA?

A PWA must meet three requirements for browsers to recognise it as installable:

  1. Secure delivery over HTTPS: no service worker without TLS
  2. A web app manifest: a manifest.webmanifest file with name, icons, theme colour, start URL
  3. A service worker: a JavaScript background process that can intercept requests, cache them and deliver offline content

Once these three points are met, the browser automatically suggests installation to the user (“Add to home screen”).

The service worker – the heart of it

The service worker is a script running in the background, independent of the web page, even when the tab is closed. It intercepts network requests and decides per request: serve from cache, fetch from the server, or combine both. Typical strategies:

StrategyWhen it makes sense
Cache firstStatic assets (images, CSS, JS) – fast, offline-capable
Network firstNews feeds, dashboards – prioritise current data
Stale-while-revalidateLists that should load fast but refresh in the background
Network onlyLogin requests, POST requests – never cache

Service workers additionally enable push notifications (via the Push API) and background sync (tasks executed only once the network connection is available again).

The web app manifest

A small JSON file describes the app for the operating system:

{
  "name": "aceArt Tools",
  "short_name": "aceArt",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#111016",
  "theme_color": "#F0533E",
  "icons": [
    { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }
  ]
}

display: "standalone" hides the browser chrome; theme_color colours the status bar; the icons land on the home screen.

Advantages of a PWA

One codebase for all platforms

The PWA runs in the browser, meaning on Android, iOS, Windows, macOS and Linux without adaptation. Compared to double development for iOS + Android, often the considerably cheaper solution.

No app store obligation

The app is distributed via the normal website: no 30% store fee, no weeks-long review processes, immediate updates without another review.

A fast first visit

A PWA loads with the same advantages as a modern website (see LCP). After first use, the service worker pulls most assets from the cache, so subsequent visits are often faster than with native apps.

A lower installation hurdle

Unlike native apps, the user doesn’t have to download anything from a store; one click on “Install” is enough. The app occupies only a fraction of typical native app size.

SEO + app in one

A PWA is simultaneously a website. It gets indexed, can be found via Google searches and shares a URL structure with the marketing presence.

Limits and weaknesses

iOS restrictions

Apple supports PWAs only partially. Push notifications have existed since iOS 16.4 (2023), but background sync, Web Bluetooth, NFC and many sensor APIs are still missing. If you depend on those functions, only a native app will get you there.

No deep integration

Apps that must be deeply embedded into the operating system (system widgets, watch app connections, app clips, lock screen components) are better off native.

No store visibility (on iOS)

A PWA appears in neither the App Store nor the Play Store (on Android it can recently be submitted indirectly). If you need discovery via the store, combine PWA + a native shell (e.g. with Capacitor).

PWA vs. native app vs. hybrid

PWANativeHybrid (Ionic / Capacitor)
Development effortlowhigh (per platform)medium
Performancegoodbestgood
Native APIslimited (above all iOS)fullfull
Store distributionno (web)yesyes
Update speedimmediateafter reviewafter review
Offline capabilityyes (service worker)yesyes

When is a PWA worthwhile?

  • Content-centred apps (news, blogs, documentation) – fast delivery, offline reading mode
  • B2B tools: dashboards, booking systems, customer portals
  • E-commerce: a shop that is SEO-relevant and installable at once
  • MVPs and prototypes: fast time to market without the store hurdle

PWAs are less suitable for games with high performance requirements or apps that strictly need native APIs (HealthKit, Bluetooth Low Energy, AR).

Tools for PWA development

  • web.dev and Lighthouse: the PWA audit
  • Workbox: a service worker library with ready-made caching strategies
  • PWABuilder (Microsoft) – a generator for manifest + store packages
  • Capacitor (Ionic) – wraps a PWA into a native shell if store distribution is desired

Frequently asked questions about PWAs

Do I need an app store for a PWA? No. PWAs are distributed via the normal website; a banner or a menu entry “Install app” suffices. On request, PWAs can also be submitted to the stores (trusted web activities, Microsoft Store, even the App Store with Capacitor).

How does a PWA differ from a responsive website? A responsive website adapts its layout to the screen size. A PWA is a responsive website plus service worker, manifest and HTTPS, which makes it additionally offline-capable and installable.

Are PWAs worse for SEO? Quite the opposite: a PWA gets indexed like any other website. What matters is only that the initial content is rendered server- or static-side; purely client-generated content reaches search engines late or not at all.

Do PWAs work on iPhones? Yes, with restrictions. Most basic features (installation, offline, service worker) have worked for years; push notifications only since iOS 16.4. Some hardware APIs remain missing.

Conclusion

PWAs are the pragmatic answer to “we need an app, but please without the full native effort”. They combine a website’s reach and maintenance efficiency with a store’s app experience, without inheriting the downsides of either world. We design and develop PWAs both from scratch and as complements to existing websites. More details on the app development page or simply get in touch and we’ll take a look together.

← Back to glossary
HOMEGLOSSARYPROGRESSIVE-WEB-APP