Service Worker Development Cookbook
eBook - ePub

Service Worker Development Cookbook

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

Service Worker Development Cookbook

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.

Tools to learn more effectively

Saving Books

Saving Books

Keyword Search

Keyword Search

Annotating Text

Annotating Text

Listen to it instead

Listen to it instead

Information

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

  1. Service Worker Development Cookbook

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn how to download books offline
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
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 990+ topics, we’ve got you covered! Learn about our mission
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 about Read Aloud
Yes! You can use the Perlego app on both iOS and Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app
Yes, you can access Service Worker Development Cookbook by Sean Amarasinghe in PDF and/or ePUB format, as well as other popular books in Computer Science & Programming. We have over one million books available in our catalogue for you to explore.