What are Progressive Web Apps?
JavaScriptThe short answer
A Progressive Web App (PWA) is a web application that uses modern web technologies to deliver an app-like experience. PWAs can work offline, send push notifications, and be installed on the home screen — all without going through an app store. They are built with standard web technologies (HTML, CSS, JavaScript) plus a service worker and a manifest file.
The three requirements
1. Service worker — a script that runs in the background, enabling offline support and caching:
// service-worker.jsself.addEventListener('install', (event) => { event.waitUntil( caches.open('v1').then((cache) => { return cache.addAll([ '/', '/index.html', '/app.js', '/styles.css', ]); }) );});self.addEventListener('fetch', (event) => { event.respondWith( caches.match(event.request).then((cached) => { return cached || fetch(event.request); }) );});2. Web app manifest — a JSON file that describes the app:
{ "name": "My App", "short_name": "App", "start_url": "/", "display": "standalone", "background_color": "#ffffff", "theme_color": "#3b82f6", "icons": [ { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" }, { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" } ]}3. HTTPS — required for service workers and security.
What PWAs can do
- Work offline — serve cached content when there is no network
- Install on home screen — users can add the app without an app store
- Send push notifications — re-engage users even when the app is closed
- Background sync — queue actions while offline and sync when back online
- Fast loading — cached resources load instantly
PWA vs native app
| Feature | PWA | Native App |
|---|---|---|
| Installation | From browser, no app store | App store required |
| Updates | Automatic (just deploy) | User must update |
| Offline support | Yes (with service worker) | Yes |
| Device APIs | Limited (growing) | Full access |
| Discoverability | Searchable via URL | App store search |
| Size | Very small | Can be large |
Interview Tip
Cover the three requirements (service worker, manifest, HTTPS) and the key capabilities (offline, installable, push notifications). The comparison with native apps is a common follow-up question. Knowing that PWAs use service workers for offline support shows you understand the underlying technology.
Why interviewers ask this
PWAs are becoming more important as companies look for alternatives to native apps. Interviewers want to see if you know what makes a web app a PWA, what capabilities they have, and when they are a good choice over native apps.