Progressive Web Apps (PWAs) are not a new framework — they are a collection of browser APIs and best practices that make web apps behave like native mobile apps. Google coined the term in 2015, and by 2017 Service Workers are supported in Chrome, Firefox, and Opera with Edge support incoming. PWAs are production-ready.
The Three Pillars of a PWA
- Reliable — loads instantly and works offline via Service Workers
- Fast — smooth animations, 60fps scrolling, no janky responses
- Engaging — feels like an app with push notifications and Add to Home Screen
Service Workers: The Offline Engine
A Service Worker is a JavaScript file that runs in the background, separate from the web page, and intercepts every network request. Register one in your main JavaScript:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js')
.then(reg => console.log('SW registered', reg));
}
// sw.js — cache on install, serve from cache
self.addEventListener('install', event => {
event.waitUntil(
caches.open('v1').then(cache => cache.addAll([
'.', './index.html', './app.js', './style.css'
]))
);
});
self.addEventListener('fetch', event => {
event.respondWith(
caches.match(event.request).then(r => r || fetch(event.request))
);
});
Web App Manifest
A manifest.json tells the browser how to display your app when installed:
{
"name": "My PWA",
"short_name": "MyApp",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#7c3aed",
"icons": [{ "src": "/icons/icon-192.png", "sizes": "192x192", "type": "image/png" }]
}
Push Notifications
Web Push uses the Push API and Notifications API. A Service Worker receives push events and displays notifications even when the browser is closed — bringing one of native apps’ most powerful engagement tools to the web.
Measuring PWA Quality with Lighthouse
Google’s Lighthouse (now built into Chrome DevTools) audits your app across Performance, Accessibility, Best Practices, SEO, and PWA criteria. Aim for 90+ across all categories.
PWAs close the gap between web and native. Twitter Lite, the Alibaba PWA, and Pinterest’s PWA all report significant engagement and conversion improvements. The era of “just build a native app” is ending.