Progressive Web Apps
Drupal 7 will no longer be supported after January 5, 2025. Learn more and find resources for Drupal 7 sites
A website can be called a Progressive Web App when it implements a few rather new Web Platform features, most notably a Service Worker and a Web Manifest. These features allow your website to become more powerful than a plain website, by way of controlling the offline experience and the ability to add to homescreen.
Getting Started
Read the documentation for PWAs from either Google or Mozilla to become familiar with the foundational concepts. What follows is a summary of the two main components: Service Worker and Web Manifest.
Service Worker
Think of a Service Worker like a helpful proxy server that sits in between your browser and the internet. It has the ability to intercept your outgoing HTTP requests and act on them, or even modify them. While it might sound scary, that is precisely why Service Workers are HTTPS only. If your website does not have HTTPs, you cannot use a Service Worker.
Web Manifest
The Web Manifest is a standard which unifies how people can display and discover apps on various platforms. When visitors save your PWA to their home screen the Web Manifest helps control how your site will appear. The title, icons, and even the color of the browser UI can be controlled on some platforms. The manifest also holds other meta data that helps power discovery engines, app stores, and the like.
Drupal modules offering PWA functionality
Here is a non-exhaustive list of modules which offer Progressive Web App functionality:
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion