Angular › Progressive Web Apps (PWA) with Angular

What is a Progressive Web App, and how do you add PWA support to an existing Angular project?

Beginner

Answer

A Progressive Web App is a website that behaves more like a native app, capable of working offline, being installed on a device's home screen, and loading quickly even on unreliable networks. Angular provides an official schematic that adds everything needed for basic PWA support with a single command.
ng add @angular/pwa

// This automatically adds a service worker, a web manifest file,
// and the necessary configuration to make your app installable and work offline
Real-world example A news website adds PWA support to their existing Angular app with a single CLI command, letting readers install it on their phone's home screen and continue reading previously loaded articles even without an internet connection.

Common follow-ups: What files does the ng add @angular/pwa command actually create or modify?;Does adding PWA support require rewriting any existing application code?