Network connectivity is the single point of failure when it comes to user experience on the web: a poor network could lead to poor performances and no network could mean no service at all. In order to offer access to contents and services as continuously as possible, browser vendors have started to support development tools and methods that are collected under the name Progressive Web Apps (PWAs). These PWAs allow developers to provide native-app qualities and features in web applications, which can result in a more reliable, faster and engaging user experience.
The technical foundation of PWA features such as resource-caching and push notifications are Service Workers. Basically, a service worker is a script that browsers can execute in the background, within a run environment separated from web pages. This script can perform some tasks even when there are no open pages or user interactions and it can communicate with the pages it controls by responding to messages sent from those pages.
Lately, PWAs are getting more and more adoption and recognition by all involved parties: browser vendors, developers and end users. PWAs and service workers are the must-have technologies for developers who want to provide a modern user experience with modern technologies, both on mobile and desktop.
At the same time, it is important to highlight the peculiarities of the service workers and PWAs, compared, for example, to the traditional approach based on AJAX calls.
The following videos explain basic concepts and behaviours of service workers, must-have libraries and tools to speed up PWAs development the proper way, as well as tips to deal with PWA approach and the infinite capabilities that service workers technology allows, even when not strictly related to PWAs.