service workers in action · erik witt service workers in action 35 56 mobile building an...
TRANSCRIPT
![Page 1: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/1.jpg)
Erik Witt
Service Workers in Action
35
56
Mobile
Building an Offline-Capable
Webshop in under 90 minutes
![Page 2: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/2.jpg)
•
•
•
•
![Page 3: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/3.jpg)
![Page 4: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/4.jpg)
Page: https://bit.ly/2p7bA2X
Repository:
https://github.com/ErikWitt/code-talks19
![Page 5: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/5.jpg)
https://bit.ly/2p7bA2X
![Page 6: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/6.jpg)
![Page 7: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/7.jpg)
![Page 8: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/8.jpg)
Fast Loadsthrough Caching
Offline Mode (Synchronization)
Add-to-Homescreenand Push Notifations
+ +
![Page 9: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/9.jpg)
![Page 10: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/10.jpg)
![Page 11: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/11.jpg)
![Page 12: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/12.jpg)
![Page 13: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/13.jpg)
![Page 14: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/14.jpg)
![Page 15: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/15.jpg)
![Page 16: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/16.jpg)
•
•
•
![Page 17: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/17.jpg)
→
![Page 18: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/18.jpg)
•
•
![Page 19: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/19.jpg)
![Page 20: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/20.jpg)
•
•
![Page 22: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/22.jpg)
![Page 23: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/23.jpg)
![Page 24: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/24.jpg)
![Page 25: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/25.jpg)
•
••
•
![Page 26: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/26.jpg)
•
••
![Page 27: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/27.jpg)
Supported by >90% of browsers.
Requires TLS Encryption.
![Page 28: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/28.jpg)
![Page 29: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/29.jpg)
self.addEventListener('install', (event) => {// Perform install steps
});
self.addEventListener('activate', (event) => {// Perform activate steps
});
self.addEventListener('fetch', (event) => {// React to fetch event
});
![Page 30: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/30.jpg)
// Send message to browser tabconst client = await clients.get('id');client.postMessage(someJsonData);
self.addEventListener('push', (event) => {// Receive push notification
});
self.addEventListener('message', (event) => {// Receive message
});
![Page 31: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/31.jpg)
// Default (and maximum) scope is location of Service Worker// Gets all requests starting with '/path/'navigator.serviceWorker.register('/path/sw.js');
![Page 32: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/32.jpg)
// Scope option can further limit which requests got to Service Worker// Gets all requests starting with '/path/subpath/'navigator.serviceWorker.register('/path/sw.js', { scope: '/path/subpath/' });
![Page 33: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/33.jpg)
self.addEventListener('fetch', (event) => {// React to fetch eventconst { url } = event.request;event.respondWith((async () => {const request = new Request(url.replace('.com', '.de'))const response = await fetch(request);const text = await response.text();const newText = text.replace('Goethe', 'Schiller');return new Response(newText, { status: 200 });
})());});
•
•
•
•
•
•
![Page 34: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/34.jpg)
•
••
•
![Page 35: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/35.jpg)
•
•
•
•
•
•
![Page 36: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/36.jpg)
![Page 37: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/37.jpg)
•
•
•
•
![Page 38: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/38.jpg)
![Page 39: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/39.jpg)
![Page 40: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/40.jpg)
![Page 41: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/41.jpg)
![Page 42: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/42.jpg)
![Page 43: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/43.jpg)
![Page 44: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/44.jpg)
![Page 45: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/45.jpg)
![Page 46: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/46.jpg)
![Page 47: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/47.jpg)
Example
↓
>25% cache hits on HTML in production
1500 entries & 0.0019% false positives → 7 KB size
![Page 48: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/48.jpg)
![Page 49: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/49.jpg)
![Page 50: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/50.jpg)
![Page 51: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/51.jpg)
![Page 52: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/52.jpg)
![Page 53: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/53.jpg)
HTML
JS
CSS
![Page 54: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/54.jpg)
HTML
JS
CSS
HTML
![Page 55: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/55.jpg)
![Page 56: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/56.jpg)
![Page 57: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/57.jpg)
![Page 58: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/58.jpg)
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
![Page 59: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/59.jpg)
![Page 60: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/60.jpg)
0 1 2 3 4 5 6 7 8 9 10
Perc
enta
ge o
f Tr
affi
c
First Paint in Seconds
*comparing appelrath.com Chrome UX report data from October 2018 with January 2019
*
![Page 61: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/61.jpg)
![Page 62: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/62.jpg)
![Page 63: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/63.jpg)
![Page 64: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/64.jpg)
Recommended Books
https://jakearchibald.com/
https://developers.google.com/web/progressive-web-apps/
Guides & Tutorials
https://blog.baqend.com/
Blogs
https://www.igvita.com/
https://developer.mozilla.org/en-US/docs/Web/Apps/Progressive
![Page 65: Service Workers in Action · Erik Witt Service Workers in Action 35 56 Mobile Building an Offline-Capable Webshop in under 90 minutes • • • •](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5740b75aebe15262d401d/html5/thumbnails/65.jpg)