PWA (Progressive Web App)
What is a PWA?
PWA (Progressive Web App) is a web technology that allows building websites that behave like native mobile applications. A PWA runs in the browser but can be installed on a phone's home screen, work offline, send push notifications, and access device hardware.
A PWA offers the "best of both worlds" — the reach and easy distribution of a website combined with a user experience close to that of a native application.
Why does it matter?
- Better UX — instant loading, offline support, home screen installation
- Lower cost — a single codebase instead of separate iOS, Android, and web applications
- SEO friendly — a PWA is indexable by Google (unlike native apps)
- Higher conversion — PWA speed and UX can increase conversion by 20-50%
- Core Web Vitals — PWAs with service workers achieve excellent performance metrics
How does a PWA work?
A PWA is built on three core technologies:
Service Worker
JavaScript running in the background — caches resources, enables offline mode, and handles push notifications.
Web App Manifest
A JSON file (manifest.json) defining the icon, name, colors, and launch behavior after installation.
HTTPS
A PWA requires a secure connection — an SSL certificate is mandatory.
Best practices
- Cache first strategy — static resources from cache, dynamic resources from the network with a fallback
- Offline fallback — display a friendly page instead of a browser error
- Manifest — complete data: icons in multiple sizes, start_url, display: standalone
- Fast first load — despite caching, the first load must be fast (< 2s LCP)
- Responsive — a PWA must work on every device, from phone to desktop
- Lighthouse PWA audit — Google Lighthouse verifies compliance with PWA requirements
More on performance in the article how to improve page speed.
Related terms
- Core Web Vitals — performance metrics
- UX — user experience
- SEO — search engine optimization
- Conversion — goal completion on a page
- Static Site Generation — static page generation