Nodea — logo

PWA

A PWA (Progressive Web App) is a web application that, using modern browser technologies, delivers an experience close to a native app. It can be "installed" to a phone's home screen or the operating system, launched in a standalone window without an address bar, used offline and receive push notifications — all without downloading anything from an app store.

How a PWA works

A PWA rests on three technical pillars:

  • Service worker — a background JavaScript script running outside the page thread; it intercepts network requests, caches assets and enables offline use and push notifications.
  • Web app manifest — a JSON file describing the name, icons, colors and display mode, which lets the browser offer installation.
  • HTTPS — a service worker only runs over a secure connection, so HTTPS is mandatory.

The word "progressive" refers to progressive enhancement: the app works in every browser, and where newer capabilities exist it unlocks full install and offline features. A PWA is usually built as a SPA, though that is not strictly required.

PWAs in practice

The PWA model shines wherever reach and fast delivery matter:

  1. Online stores — fast loading and offline behavior lift conversion on mobile devices.
  2. News sites and SaaS apps — a single codebase serves web, Android and iOS, cutting development cost.
  3. Dashboards and internal tools — installation without a store simplifies distribution inside an organization.

Deploying a PWA requires hosting with an SSL certificate and correct caching headers (see Cache-Control) so the service worker serves assets quickly and consistently.

Powiązane pojęcia

Najczęstsze pytania

How does a PWA differ from a native app?

A native app is written for a specific platform (iOS, Android) and downloaded from a store. A PWA is a website running in the browser that can be "installed" to the home screen. A PWA is cheaper to maintain (one codebase for every platform) but has limited access to some hardware features.

Does a PWA work without internet?

Partly, yes. Thanks to the service worker and the cache, a PWA can display previously visited content and its core interface offline. Features that need fresh data from the server still require a connection.