Prototype implementation and polyfill for the ServiceWorker spec.
This is a polyfill for the ServiceWorker specification. The idea is to enable exploration of the ServiceWorker API and the implications it has for users, applications and developer workflow.
NOTE: This may be broken for you. Please submit an issue.
- Node + npm
- Chrome Canary
This may only work on OSX. Sorry.
$ npm install -g serviceworker && serviceworker
This will start an instance of Chrome Canary and a ServiceWorker proxy server. All requests from Canary will go through the proxy.
Point Canary to a (local) site, add some ServiceWorker stuff and off you go!
If you'd like a site to play with, try using the demo site in the
site directory. You'll need to host the files with the domain
workerdemo.dev – try using distra for this.
Here's the general idea.
- Page requests something
- Chrome extension picks up the request and adds an
- Proxy follows the ServiceWorker spec to check if there's a worker registered for the page, and puts request through it.
- The worker generates a response or allows the request to go to the network
- ServiceWorker server returns response to page
There's also registration, install and activation steps. Check the spec for this.
- This stuff (possibly) doesn't play nice with VPNs.
- No HTTPS
Submit an issue or pull request!