← Back to Awesome

Sections

Service Workers

GitHub repository ↗ synced 2026/8/9

Awesome Service Workers Awesome

A curated collection of service worker resources.

Service workers are at the heart of every progressive web app. Their persistent nature allows progressive web apps to fulfill our expectations of what an app should do. They are the missing link between what only native apps could do and what modern progressive web apps can do.

-- Building Progressive Web Apps - O'Reilly

If you want to contribute, please read the contribution guidelines.

Must Reads

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.

Introduction to Service Worker

A gentle introduction to service workers.

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](https://github.com/slightlyoff).

Learning Resources

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](https://github.com/remy).

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.

Reference

Background Sync Spec

The WIP spec for Background Sync.

Service Workers - W3C Specification

The official service workers spec.

Browser Support

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.

Libraries and Tools

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-offline-google-analytics

A service worker helper library to retry offline Google Analytics requests when a connection is available.

Workbox

a set of libraries and Node modules that make it easy to cache assets and take full advantage of features used to build progressive web apps.

Videos

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.

Case Studies

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?

Related Technologies

App Install Banners
Background Sync
CacheStorage API
IndexedDB
Push Notifications