
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Course Introduction
An introduction to the different aspects of a Progressive Web App and some design considerations when developing.
A guide on what tools will be used throughout the course and how examples will be presented.
This lesson will ensure that you can follow along easily and have the best possible environment ready for building and testing PWA's.
The first look at what the role of the Service Worker is, and what requirements must be met.
This lesson will help you better understand where the Service Worker works.
An introduction to understanding & using Promises.
This relatively short tutorial will give you a starting point for using Promises with Service Workers and explain the challenges Promises help solve.
An introduction to understanding & using the new Fetch API.
This is a practical-use tutorial covering the basics of using Fetch over traditional XMLHttpRequest.
A walkthrough of the various stages of a Service Workers lifecycle.
This includes:
Learn to intercept and manipulate network requests using the Service Worker's Fetch event.
Understand how the Service Worker location affects it's permissions scope and how to define a custom scope
Learn to use the ServiceWorkerRegistration object to monitor and respond to Service Worker updates and state changes.
Learn to use the HTML5 Messaging API to send messages between the main application context ( window ) and the service worker context.
A quick demonstration of listening for server push events on a Service Worker.
See how to request permission and show native notifications, using the HTML5 Notifications API.
An overview of the push notification process.
This lesson will show you how to:
A brief overview of the different storage options available for Progressive Web Apps and why we'll use the Cache API.
Learn to use the CacheStorage interface for creating, opening and deleting caches.
Learn the basic workings of the Cache API, including:
Integrate the Cache API into the Service Worker to intercept browser requests and serve cached responses.
An example lesson of identifying and implementing suitable caching strategies for specific resources. Including:
A short tutorial on using Chrome remote debugging. - Devtools on a real device.
Understand the basic format and workings of the Web App Manifest file.
This includes specifying:
Understand the trigger requirements for the "Add to Home Screen" dialog and learn to invoke it manually via Chrome Devtools.
Learn to provide Web App Manifest fallback for Safari mobile on iOS.
An overview of the web app to be made progressive, including complete coverage of the app's code and goals of this project.
Add the first Progressive Web App features to the project app.
Learn to implement customised caching strategies based on specific content types.
This lesson show how to cache API requests with the network as a priority and cache images that persist across Service Worker Updates.
Manage cached content with an undetermined expiration.
This lesson will teach practical messaging between the main context and the service worker.
Deploy a PWA to GitHub Pages as a free SSL enabled static app hosting solution.
This lesson includes:
Learn to use Google's web app auditing tool, Lighthouse, to improve a PWA.
A brief overview of the project goals and the initial implementation of the HTTP Push Server & Client App.
Implementation of the Push Server's HTTP Endpoints - or Routes.
These include:
Create Vapid keys and implement the Public Key server endpoint.
Implement the client-side subscribe & unsubscribe logic for the push service, and the subscription registration logic for the push server's subscribe endpoint.
Add a simple storage module to persist client subscriptions between server restarts.
Implement the push endpoint, enabling the push server to send push notifications to all subscribed clients.
This lesson also covers sending and displaying a custom push notification message.
Manage push server subscriptions by removing redundant subscriptions from the storage.
Project overview:
App function
File structure
Major dependencies
Create the App Shell. ( User Interface HTML )
Connect the App Shell (User Interface)
Check app support
Initialise the application
Connect user interface elements to app events
Add Camera functionality:
Launching the device camera stream
Taking a photo
Closing the camera stream
Render application messages with a photo in the app UI.
Add a Web Socket server to sync app data in real-time and persist data on the server.
An overview of Google's Workbox toolkit.
Workbox Service Worker:
Create a service worker build script and automate service worker generation and updating.
Configure app caching
A collection of useful resources to explore Progressive Web App development beyond this course.
Note: See attached links and PDF.
An outro consisting of:
Expected course updates & additions
Course Feedback & Suggestions
Links to more Stackacademy.tv Courses
Learn to build discoverable, engaging Progressive Webs Apps (PWAs) from scratch, or Upgrade Existing Web Apps to PWAs using Service Workers, Caches API and Web App Manifests.
Learn the Essential technologies, and Concepts behind PWAs to get started as quickly and efficiently as possible.
Understand the purpose of PWAs and the problems they solve
Learn supporting JavaScript concepts for working with PWAs, including Promises & the Fetch API
Practical, In-depth lessons on each individual aspect of building a PWA
Service Workers
Push Notifications
Caching
Native capabilities
An invaluable skill for any Web/Mobile Developer, made available via a very concise and well-planned curriculum.
Progressive Web Apps is an incredibly exciting, fast-growing and sought after skill in Web App Development.
This course will provide a very practical & concise approach to learning Progressive Web Apps and the curriculum includes all the aspects of PWAs ready for production today.
There’s no faster way to get started with PWAs and the course will particularly focus on upgrading existing web apps to be fully progressive without any compromise in non-supporting browsers.
Content and Overview
With 38 concise and practical lessons, this course aims to teach a solid understanding of Progressive Web Apps and is suitable for anyone with a basic understanding of HTML, CSS & JavaScript in the browser.
The course starts with an introduction to Progressive Web Apps as a concept and follows on to cover Service Workers in great details.
The Service Worker section includes short lessons on supporting JavaScript concepts, including Promises and the Fetch API.
The course also dedicates an entire section to understanding the Cache API and using it alongside Service Workers.
Finally, to put the entirety of the course contents to practice, a practical project sections covers the process of assessing and upgrading an existing Web App to be fully Progressive while still maintaining it’s initial integrity through progressive enhancement.
Upon completion of this course you will have the practical skills to immediately start building fully customised, production ready, Progressive Web Apps.
This course is to the point and everything is demonstrated in the most simple, yet practical ways.