Skip to content

Latest commit

 

History

History
76 lines (55 loc) · 6.7 KB

README.md

File metadata and controls

76 lines (55 loc) · 6.7 KB

Awesome Service Workers Awesome

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.)

-- Mozilla Developer Network - Service Worker API

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

Contents

Must Reads

Building Progressive Web Apps

Learning Resources

Reference

Browser Support

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-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.

Videos

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