Service Worker Development Cookbook
eBook - ePub

Service Worker Development Cookbook

Sean Amarasinghe

Share book
  1. 384 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Service Worker Development Cookbook

Sean Amarasinghe

Book details
Book preview
Table of contents
Citations

About This Book

Build highly available and performant native web applications that seamlessly integrate with third-party APIs

About This Book

  • Get straight into the action with step-by-step recipes that show you how to put Service Workers to work
  • Find out what Service Workers can do for your app, then do it!
  • Get the first in-depth look at this important new feature for web developers

Who This Book Is For

Web developers, mobile application developers, and software engineers with any level of knowledge can use this book. You should be familiar with JavaScript and HTML.

What You Will Learn

  • Display a custom offline page
  • Cache critical resources for offline use
  • Implement offline Google Analytics
  • Get network responses offline
  • Implement push notifications
  • Improve performance of your app

In Detail

It would be nice to have web apps that work offline and send push notifications. This is now possible with Service Workers, which can add native-like functionality to your web apps without requiring a download.

This book will get your mobile and web apps functioning without Internet connectivity, improve performance and network interaction in order to increase the level of availability, and show you how to build performant applications that seamlessly integrate with third-party APIs.

We'll show you how to add Service Worker functionality to web apps and sites, access offline content through basic and advanced techniques, and build powerful interactive system notifications. We'll also teach you about cache functionality and assets to provide immediate load even over narrow connections. We conclude by giving you various tips to improve app performance, including the background sync technique.

By the end of this book, you'll know build high performing and faster web and mobile applications with Service Workers.

Style and approach

This book provides lots of task-oriented, practical, and inspiring ways to put Service Workers to work. Step-by-step instructions will guide you through every task.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Service Worker Development Cookbook an online PDF/ePUB?
Yes, you can access Service Worker Development Cookbook by Sean Amarasinghe in PDF and/or ePUB format, as well as other popular books in Informatik & Webservices & APIs. We have over one million books available in our catalogue for you to explore.

Information

Year
2016
ISBN
9781786465290
Edition
1

Service Worker Development Cookbook


Table of Contents

Service Worker Development Cookbook
Credits
About the Author
About the Reviewer
www.PacktPub.com
eBooks, discount offers, and more
Why subscribe?
Preface
What this book covers
What you need for this book
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Learning Service Worker Basics
Introduction
Service workers
Promises
Promise.resolve(value)
Promise.reject(reason)
Setting up service workers
Getting ready
How to do it...
Chrome
Firefox
Setting up SSL for Windows
Getting ready
How to do it...
Setting up SSL for Mac
Getting ready
How to do it...
Setting up GitHub pages for SSL
Getting ready
How to do it...
Registering a service worker
Getting ready
How to do it...
How it works...
There's more...
Known issues
The ERR_FILE_EXISTS error message
Stale console messages
Registering a service worker in detail
Getting ready
How to do it...
How it works...
There's more...
Install
Activate
Fetch
Terminate
See also
Debugging
Getting ready
How to do it...
There's more...
Providing a stale version on error
Getting ready
How to do it...
How it works...
There's more...
Creating mock responses
Getting ready
How to do it...
How it works...
Handling request timeouts
Getting ready
How to do it...
How it works...
There's more...
2. Working with Resource Files
Introduction
Displaying a custom offline page
Getting ready
How to do it...
How it works...
There's more...
See also
Loading images offline
Getting ready
How to do it...
How it works...
There's more...
Handling responsive images
The srcset attribute
Device-pixel ratio
The sizes attribute
The picture element
See also
Loading CSS offline
Getting ready
How to do it...
How it works...
Loading fonts offline
Getting ready
How to do it...
How it works...
There's more...
See also
Implementing multiple fetch handlers
Getting ready
How to do it...
How it works...
There's more...
See also
Fetching remote resources
Getting ready
How to do it...
How it works...
There's more...
No credentials by default
Non-CORS fail by default
See also
3. Accessing Offline Content
Introduction
Caching critical resources for offline use
Getting ready
How to do it...
How it works...
See also
Showing cached content first
Getting ready
How to do it...
How it works...
Implementing a cache and network race
Getting ready
How to do it...
How it works...
Using window.caches
Getting ready
How to do it...
How it works...
Implementing stale-while-revalidate
Getting ready
How to do it...
How it works...
4. Accessing Offline Content with Advanced Techniques
Introduction
Templating
Getting ready
How to do it...
How it works...
See also
Implementing read-through caching
Getting ready
How to do it...
How it works...
Allowing offline Google Analytics
Getting ready
How to do it...
How it works...
See also
Allowing offline user interaction
Getting ready
How to do it...
How it works...
Implementing selective caching
Getting ready
How to do it...
How it works...
See also
5. Reaching Beyond the Offline Cache
Introduction
Getting network responses offline
Getting ready
How to do it...
How it works...
Caching content from ZIP
Getting ready
How to do it...
How it works...
Selecting the best content provider (load balancer)
Getting ready
How to do it...
How it works...
Redirecting a request
Getting ready
How to do it...
How it works...
Setting request headers
Getting ready
How to do it...
How it works...
Making a service worker act like a remote server
Getting ready
How to do it...
How it works...
Making a service worker act as a dependency injector
Getting ready
How to do it...
How it works...
Forcing immediate control
Getting ready
How to do it...
How it works...
Implementing fallback responses
Getting ready
How to do it...
How it works...
Deferring offline requests
Getting ready
How to do it...
How it works...
See also
6. Working with Advanced Libraries
Introduction
Working with global APIs
Getting ready
How to do it...
How it works...
Cache
caches
fetch
getAll
Implementing a circuit breaker
Getting ready
How to do it...
How it works...
Implementing a dead letter queue
Getting ready
How to do it...
How it works...
Logging API analytics
Getting ready
How to do it...
How it works...
Working with Google Analytics
Getting ready
How to do it...
How it works...
See also
7. Fetching Resources
Introduction
Fetching remote resources
Getting ready
How to do it...
How it works...
Fetching with FetchEvent
Getting ready
How to do it...
How it works...
Cache.addAll()
ExtendableEvent.waitUntil()
FetchEvent.respondWith()
Fetching a JSON file during service worker installation
Getting ready
How to do it...
How it works...
Proxying
Getting ready
How to do it...
How it works...
Prefetching
Getting ready
How to do it...
How it works...
8. Experimenting with Web Push
Introduction
Implementing a simple push notification
Getting ready
...

Table of contents