Progressive Web App (PWA)

  • A PWA is a website designed to behave like a native app.

  • Key idea: web technology plus a few extras lets users install the site, run it offline, and get app-like UX.

  • Core pieces

    • Service Worker. Intercepts requests and enables offline caching.

    • Web App Manifest. A JSON file that defines name, icon, start URL, display mode, and version.

    • HTTPS. Required for Service Worker and installability.

    • Responsive UI and fast load time.

  • Common benefits

    • Installable on home screen.

    • Offline or flaky-network support.

    • Push notifications and background sync if implemented.

    • App-like startup and fullscreen modes.

  • Adds complexity. Caching logic can serve stale content if not managed.

  • Requires careful versioning and cache invalidation.

  • Extra maintenance for icons, manifest fields, and update flow.

  • When to use

    • Good for sites that need offline access or frequent repeat interactions.

    • Good for apps where installability and push matter.