A curated collection of service worker resources.
A service worker is an event-driven worker registered against an origin and a path. It takes the form of a JavaScript file that can control the web page/site it is associated with, intercepting and modifying navigation and resource requests, and caching resources in a very granular fashion to give you complete control over how your app behaves in certain situations (the most obvious one being when the network is not available.)
If you want to contribute, please read the contribution guidelines.
- Must Reads
- Learning Resources
- Reference
- Browser Support
- Libraries and Tools
- Videos
- Case Studies
- Related Technologies
- Introduction to Service Worker - A gentle introduction to service workers.
- Building Progressive Web Apps - O'Reilly - A hands-on guide and reference for service workers, caching strategies, push notifications, and more. Everything you need to build a modern progressive web app.
- Offline Web Applications Using IndexedDB & Service Worker - A great Udacity course introducing service workers and IndexedDB.
- Service Workers Explained - Service workers explained by Alex Russell.
- Building Offline Sites with ServiceWorkers and UpUp - A general introduction to service workers and using UpUp to provide offline functionality in minutes.
- Introduction to Service Worker
- Service Workers 101 - An infographic summarizing the most important parts of service workers API.
- ServiceWorker Cookbook by Mozilla - A collection of recipes for different use cases.
- The copy & paste guide to your first Service Worker - Shortest available introduction, by Remy Sharp.
- The offline cookbook - The bible of service worker Patterns by Jake Archibald.
- Designing Offline-First Web Apps - A fascinating look at design and UX considerations for dealing with various states of connectivity.
- Background Sync Spec - The WIP spec for Background Sync.
- Service Workers - W3C Specification - The official service workers spec.
- Can I Use - Service Workers - Up-to-date browser support table of ServiceWorker API.
- Jake Archibald - Is Service Worker ready? - Current status of ServiceWorker support in different browsers.
- UpUp - A popular service worker library providing complete offline functionality for your site in 1 line of code.
- sw-toolbox - A collection of simple helpers to simplify implementing common runtime caching patterns.
- Manifest Generator - Generate a web app manifest, required for push notifications and installable web apps.
- sw-precache - Generates a service worker to cache your local App Shell resources.
- sw-appcache-behavior - A service worker implementation of the behavior defined in a page's App Cache manifest.
- sw-offline-google-analytics - A service worker helper library to retry offline Google Analytics requests when a connection is available.
- Instant Loading: Building offline-first Progressive Web Apps - Google I/O 2016 - A quick dive into the most common technologies and techniques for building progressive web apps.
- Offline Web Applications Using IndexedDB & Service Worker - This free Udacity course is a must if you're planning to dive deep into service workers.
- Instant Loading with Service Workers (Chrome Dev Summit 2015) - Explains how to structure your web app to optimize load time for initial and return visitors, and cover helpful service worker libraries that minimize the amount of boilerplate code you'll have to write.
- Service Workers in Production - A case-study about how Google I/O 2015 web app was built.
- Measuring the Real-world Performance Impact of Service Workers - One of the most significant benefits of service workers (from a performance perspective, at least) is their ability to proactively control the caching of assets. A web application that can cache all of its necessary resources should load substantially faster for returning visitors. But what do these gains actually look like to real users? And how do you even measure this?