This reference describes the technologies, features, and APIs that Progressive Web Apps (PWAs) can use to offer a great user experience.
Developers can use web app manifest members to describe a PWA, customize its appearance, and more deeply integrate it into the operating system.
The following APIs can be used by a service worker to communicate with its associated client PWA:
Client.postMessage()Allows a service worker to send a message to its client PWA.
Allows a service worker and its client PWA to establish a basic two-way communication channel.
The following APIs can be used by a service worker to make your app work offline:
CacheA persistent storage mechanism for HTTP responses used to store assets that can be reused when the app is offline.
ClientsAn interface used to provide access to the documents that are controlled by the service worker.
FetchEventAn event, dispatched in the service worker with every HTTP request made by the client PWA. The event can be used to either send the request to the server as normal and save the response for future use, or intercept the request and immediately respond with a response cached previously.
The following APIs can be used by a service worker to perform tasks in the background, even when your app is not running:
A way to defer tasks to run in a service worker once there is a stable network connection.
A way to register tasks to be run in a service worker at periodic intervals with network connectivity.
A method for a service worker to manage downloads that may take a significant amount of time, such as video or audio files.
A client-side storage API for significant amounts of structured data, including files.
A method of setting a badge on the application icon, providing a low-distraction notification.
A way to send notifications that are displayed at the operating system level.
A mechanism for sharing text, links, files, and other content to other apps selected by the user on their device.
An API for PWAs installed on desktop operating systems that enables hiding the default window title bar, enabling displaying the app over the full surface area of the app window.