Skip to content

Offline Web Applications

Free Course

Using IndexedDB & Service Worker

Related Nanodegree Program

Introduction to Programming

In collaboration with
  • Google

About this course

This course is focused squarely on user experience, and seeks to show developers how thinking offline-first is the best way to ensure that applications perform their best in all scenarios, not just ideal ones. You'll learn to recognize the differences between good, poor, intermittent, and missing connectivity for your users , and master how to make applications that navigate these conditions with ease.

Using the skills you master in this course, you'll conclude by building an app that that works both online and offline, and loads in new data when it can. You'll be a master of the cache! Your web apps will interact with the network just like native apps do. This will lead to better user experiences even in traditionally challenging connection scenarios like being stuck in a train tunnel, having to rely on over-crowded conference Wi-Fi, or traveling through a cellular "dead zone!"

What you will learn

  1. The Benefits of Offline First
    • The benefits of developing offline-first applications.
    • Understanding Lie-Fi.
  2. Introducing the Service Worker
    • How to use Service Workers.
    • Understanding the Service Worker Lifecycle.
    • How to use Service Worker DevTools.
  3. IndexedDB and Caching
    • What is IndexedDB?
    • How to cache assets using IndexedDB?

Prerequisites and requirements

This course is for web developers with JavaScript experience, including:

  • object-oriented JavaScript
  • using native Promises
  • running a Node web server from the terminal

Students should also be proficient in HTML and CSS, and have experience creating web apps.

See the Technology Requirements for using Udacity.

Why take this course?

User experience—as it is impacted by poor connectivity—is rarely taken into consideration to the extent it should be by developers. Developers build their applications using reliable internet and fast computers. They experience their own creations in an ideal environment, and they are almost always thinking online-first. But if you are truly focused on user experience, you need to understand how your applications perform in all scenarios. This is why it is critical to build applications that are offline-first.

In order to build applications that look and feel good ALL the time—not just in the best of cases—you need to do more than just learn new techniques and tools, you need to change your approach and way of thinking. This course will help you do just that.

Learn with the best.

  • Michael Wales
    Michael Wales