Rowdy Rabouw

Offline first!

What if your web app worked perfectly, even without an internet connection? Learn to build truly offline-first experiences using Service Workers.

Offline first!
#1about 6 minutes

Understanding the role and lifecycle of service workers

Service workers are event-driven JavaScript files that run in the background, acting as a proxy between the browser and the network.

#2about 3 minutes

Caching static assets using the install event

Use the service worker's install event to open a versioned static cache and pre-populate it with core assets like CSS, fonts, and images.

#3about 3 minutes

Intercepting requests to serve files from the cache

The fetch event allows the service worker to intercept network requests and respond with assets directly from the cache for improved performance.

#4about 2 minutes

Implementing a custom offline fallback page

When a network request fails for an HTML document, catch the error and serve a pre-cached offline HTML page for a better user experience.

#5about 2 minutes

Dynamically caching pages as the user navigates

As the user visits new pages, intercept the successful network response and store a clone in a separate dynamic cache for future offline access.

#6about 2 minutes

Managing and cleaning up outdated cache versions

Use the activate event to iterate through existing cache keys and delete any that do not match the current version string, preventing stale content.

#7about 7 minutes

Prefetching content using the Intersection Observer API

Instead of prefetching all links, use the Intersection Observer API to only fetch and cache pages when their corresponding links enter the viewport.

#8about 1 minute

Adapting prefetching based on network conditions

Check the user's network connection type and save data preference to conditionally disable prefetching on slow or metered connections.

#9about 5 minutes

Creating a dynamic list of available offline pages

Enhance the offline fallback page by dynamically generating a list of links to all content that has been successfully stored in the cache.

#10about 4 minutes

Q&A on cache strategies and dynamic content

Answering audience questions about cache invalidation strategies, handling API calls with IndexDB, and the sustainability of caching.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

Shopify Developer

Shopify Developer

WRK DIGITAL LTD
Manchester, United Kingdom

Remote
40-50K
CSS
HTML
React
+2
Shopify Developer

Shopify Developer

WRK DIGITAL LTD
Sheffield, United Kingdom

Remote
40-50K
CSS
HTML
React
+2
Shopify Developer

Shopify Developer

WRK DIGITAL LTD
Bristol, United Kingdom

Remote
40-50K
CSS
HTML
React
+2