Getting Started
  • About this Course
  • What are Progressive Web Apps?
  • Join our Online Learning Community
  • PWAs vs Native Mobile Apps
  • Node.js Download
  • A Demo PWA & What We'll Build in this Course
  • Our First Progressive Web App
  • PWA Core Building Blocks
  • Comparing PWAs and SPAs
  • What is "Progressive Enhancement"?
  • Course Outline
  • Course Project Setup
  • How to get the Most out of this Course
Understanding the App Manifest
  • Module Introduction
  • Using an App Manifest to Make your App Installable
  • Adding the Manifest
  • Understanding App Manifest Properties
  • Adding Properties to the App Manifest
  • PWAs and Browser Support
  • Using the Chrome Developer Tools
  • Simulating the Web App on an Emulator
  • Preparing the Emulated Device for ALL PWA Features
  • Installing the Web App - Prerequisites
  • Understanding manifest.json
  • Adding Properties for Safari
  • Adding Properties for the Internet Explorer
  • Wrap Up
  • Useful Resources & Links
The Service Workers
  • Module Introduction
  • Why Service Workers Are Amazing!
  • Understanding Service Worker Events
  • The Service Worker Lifecycle
  • Service Worker Browser Support
  • Registering a Service Worker
  • Reacting to Incoming Events (in SW)
  • Updating & Activating Service Workers
  • Non-Lifecycle Events
  • The App Install Banner & Chrome 68+
  • Getting that "App Install Banner"
  • Connecting Chrome Developer Tools to a Real/ Emulated Device
  • Testing the App on Real Device (and Installing the App!)
  • Deferring the App Install Banner
  • Wrap Up
  • Service Worker FAQ
  • Useful Resources & Links
Promise and Fetch
  • Module Introduction
  • Async Code in JavaScript
  • Promises - Basics
  • Rejecting Promises
  • Where we Use Promises in our Project
  • Fetch - Basics
  • Sending Post Requests via Fetch
  • Fetch and CORS
  • Comparing Fetch and Ajax
  • Adding Polyfills (for Legacy Browser Support)
  • Fetch & Service Workers
  • Time to Practice - Promises & Fetch API
  • [OPTIONAL] Assignment Solution
  • Wrap Up
  • Useful Resources & Links
Service Workers - Caching
  • Module Introduction
  • Why Caching?
  • Understanding the Cache API
  • Browser Support
  • Adjusting the Course Project
  • Identifying (Pre-)Cacheable Items
  • Static Caching/ Precaching
  • Retrieving Items from the Cache
  • Adding & Retrieving Multiple Files (to/ from Cache)
  • Cache Multiple Files with addAll
  • Dynamic Caching - The Basics
  • Implementing Dynamic Caching
  • Handling Errors
  • Adding Cache Versioning
  • Different Cache Versions & Cleanup
  • Optimizing Cache Management
  • Time to Practice: Service Workers & Caching
  • [OPTIONAL] Assignment Solution
  • Wrap Up
  • Useful Resources & Links
Service Workers - Advanced Caching
  • Module Introduction
  • Module Preparation: Adding a Button
  • Offering "Cache on Demand"
  • Providing an Offline Fallback Page
  • Strategy: Cache with Network Fallback
  • Strategy: Cache Only
  • Strategy: Network Only
  • Strategy: Network with Cache Fallback
  • Strategy: Cache then Network
  • Cache then Network & Dynamic Caching
  • Cache then Network with Offline Support
  • Cache Strategies & "Routing"
  • Applying Cache Only
  • Time to Practice - Advanced Caching