PWA
A PWA (Progressive Web App) is a web application that, using modern browser technologies, delivers an experience close to a native app. It can be "installed" to a phone's home screen or the operating system, launched in a standalone window without an address bar, used offline and receive push notifications — all without downloading anything from an app store.
How a PWA works
A PWA rests on three technical pillars:
- Service worker — a background JavaScript script running outside the page thread; it intercepts network requests, caches assets and enables offline use and push notifications.
- Web app manifest — a JSON file describing the name, icons, colors and display mode, which lets the browser offer installation.
- HTTPS — a service worker only runs over a secure connection, so HTTPS is mandatory.
The word "progressive" refers to progressive enhancement: the app works in every browser, and where newer capabilities exist it unlocks full install and offline features. A PWA is usually built as a SPA, though that is not strictly required.
PWAs in practice
The PWA model shines wherever reach and fast delivery matter:
- Online stores — fast loading and offline behavior lift conversion on mobile devices.
- News sites and SaaS apps — a single codebase serves web, Android and iOS, cutting development cost.
- Dashboards and internal tools — installation without a store simplifies distribution inside an organization.
Deploying a PWA requires hosting with an SSL certificate and correct caching headers (see Cache-Control) so the service worker serves assets quickly and consistently.
Powiązane pojęcia
Najczęstsze pytania
How does a PWA differ from a native app?
A native app is written for a specific platform (iOS, Android) and downloaded from a store. A PWA is a website running in the browser that can be "installed" to the home screen. A PWA is cheaper to maintain (one codebase for every platform) but has limited access to some hardware features.
Does a PWA work without internet?
Partly, yes. Thanks to the service worker and the cache, a PWA can display previously visited content and its core interface offline. Features that need fresh data from the server still require a connection.
