Instructor: Progressive web apps are fast and engaging. They can load under uncertain network conditions and be installed in your phone, providing the best native-like user experience. In this course, we'll take a single-page application already built in build-js and, step by step, turn it into a fully-featured progressive web application.
We'll start by adding metadata to the application using the web manifest, followed by using a service worker to cache not only the generated static files from the application, but also images and fonts coming from external resources using runtime caching, as well as caching Firebase streams or web sockets using IndexedDB.
Then we'll go through the different caching strategies and their tradeoffs in order to learn to control the service worker life cycle. We'll also increase the user engagement by notifying about the Internet connection status and applying different strategies to notify about newer versions of the application.
By the end, we'll see other performance patterns such as lazy-loading images, code a split and lazy-load route, and optimize asset delivery using prefetch and preload, finishing by learning how to audit a privacy web app and take decisions based on the audit.
Although it seems that the course is specific to build-js, most of the lessons are framework-agnostic, and can be easily adaptable to React, Angular, or the framework of your preference. I suggest you give it a chance and start writing offline-first applications today.