What are Progressive Web Apps?

JavaScript

The 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.js
self.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

FeaturePWANative App
InstallationFrom browser, no app storeApp store required
UpdatesAutomatic (just deploy)User must update
Offline supportYes (with service worker)Yes
Device APIsLimited (growing)Full access
DiscoverabilitySearchable via URLApp store search
SizeVery smallCan 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.