A Progressive Web Application, or PWA, is a web application that has been designed to act like a native mobile app in both online and offline situations. A PWA uses a script known as a service worker to cache content, resulting in a smoother experience and offline availability. A PWA can also make use of device features by employing a suite of browser APIs.
Depending on the device, the following features are supported by PWAs:
- Application styling
- Installation to home screen
- Push notifications
- Access to device hardware including the camera, GPS and fingerprint scanner
Using a PWA instead of a native application also offers advantages in several areas:
- Single codebase across all platforms
- Automatic, silent updates
- Not dependent on app stores