
Take a beginner-to-expert journey in progressive web apps, covering basic to advanced techniques with code demonstrations and a fast mobile-first focus, plus downloadable source from the references module.
Explore a fast, reference progressive web app for a mock furniture store, using static pages, an app shell, templates, and json data to demonstrate high-performance e-commerce design.
Explore Visual Studio Code as a free, cross-platform editor for PWA development, featuring extensions, a customizable interface, integrated terminal, Git support, debugging tools, and quick project setup.
Install node and npm to scaffold and build your progressive web apps, and manage dependencies with npm or yarn while running a local host web server.
Explore the fast furniture source code structure, including the bin and site folders, mustache templates, and the shift to npm scripts and sas for styling.
Learn to stand up a local static web server with the node http-server module, run via npm scripts, and test a static site on localhost with configurable port and options.
Improve progressive web apps to reach a new level of quality by delivering a home screen experience that drives active user engagement and strong brand perception.
Develop fast, reliable, and engaging progressive web apps by optimizing performance, enabling offline work via service workers and cache API, and delivering immersive experiences with add-to-home-screen features.
Compare native apps and web apps to show how progressive web apps achieve native-like capabilities with service workers, offline access, push notifications, deep linking, and broad reach.
Explore quotes from pwa experts on elevating user experience with native features. Upgrade a web site to a pwa and feel like a native app with no browser chrome.
Explore real-world progressive web app success stories from Flipkart, Twitter, Forbes, and Housing.com, highlighting service workers, caching, and homescreen installs boosting engagement and conversions.
Build offline-first progressive web apps with service workers and caching to deliver fast, engaging experiences despite connectivity. Use push notifications and home screen branding to boost engagement.
Learn how progressive web apps deliver fast, mobile-first, offline-first experiences with service workers, cache API, and IndexedDB. Use a web manifest and responsive design to prompt home screen installation.
Identify which browsers support progressive web apps and understand the current browser support landscape across major platforms.
Progressive web apps now enjoy near universal browser and operating system support, with service workers and the web manifest enabling cached responses and broader capabilities.
Progressive web apps boost iOS performance, cutting render times to under three seconds, driving higher engagement and conversions for major sites like Express and the Washington Post.
Discover how progressive web apps reach a global audience on devices and browsers that support them, using service workers to deliver better experiences across Chrome, Opera, Firefox, Samsung, and Windows.
Explore iOS Safari limitations for progressive web apps, including a 50 MB storage cap, no push notifications or background sync, and limited manifest features like display and theme color.
Explore how early iOS web apps used proprietary meta tags in the document head to launch standalone home screen web apps, and how Safari implements manifest-based support.
What PWA Strategy should you use for Internet Explorer?
Is Internet Explorer still a valid browser?
Understand how TLS wraps http data with encryption, defend against man-in-the-middle attacks on public wifi, and manage certificate renewal and domain authentication.
Use https to earn trust with the green padlock and encrypt data; it enables service workers and secure APIs, while free certificates boost adoption and seo.
Learn how browsers display not secure warnings with visual cues and the HTTPS roadmap. Explore how incognito mode and sensitive fields influence user perception.
Learn the three types of SSL certificates: domain validated, organization validated, and extended validated, and when to use each based on verification steps and costs.
boost page speed by implementing https and http/2, which reduces handshake overhead, enables multiplexing and server push, and improves user experience.
Learn how to migrate to https by generating a certificate signing request, installing intermediates, and enforcing https across all assets, links, and redirects to boost security and search rankings.
Discover how http/2 improves performance over http/1.1 by multiplexing on a single connection, reducing head-of-line blocking, and using header compression, server push, and prioritization of critical resources.
Learn how the web manifest defines metadata for PWAs, including name, short name, colors, and icons, to control home screen and splash visuals and enable add-to-home-screen prompts.
Explore the web manifest's name and short name properties and why the short name appears under an app icon on the device home screen, guiding branding and length considerations.
Explain the manifest description field, its default and meta tag usage, and how an organization's mission can be reflected, while noting its limited representation in the app.
Create a web manifest icons array with src, sizes, and type to supply platform-appropriate icons; include pngs in multiple sizes (e.g., 192, 310) to optimize home screen and brand display.
Learn the baseline set of 17 image sizes for your progressive web app icons and splash screens across Windows, Android, and iOS, including live tiles and touch icons.
Learn how PWABuilder.com automates PWA icon creation by guiding you through a wizard to generate a full asset set, including a valid manifest, a baseline service worker, and 17 images.
Organize and optimize the PWA iconset in the web manifest, using art-directed, responsive images across 17 icons, splash screens, and iOS considerations for a clean homescreen experience.
Set the launch background color for the homescreen load to improve perceived speed. Align the theme color with your brand to harmonize the browser chrome and status bar.
Explore how the web manifest's display property controls how your progressive web app appears, with fullscreen, standalone, minimal UI, and browser modes shaping the address bar and launch experience.
Learn how web manifest orientation controls whether a progressive web app renders in portrait or landscape, when to lock orientation, and how responsive design keeps users happy.
Set the manifest start URL to the root or home page so the home screen launch shows the latest content. Track launches with a UTM source query string (homescreen).
Define a scope in the web manifest to ensure urls load in the progressive web app's full screen or standalone mode, while external links open in a browser tab.
Discover web manifest identity properties that link your progressive web app to related native applications and hybrid deployments, including optional left-to-right direction and store integration for push notifications.
Learn how to set the mime type for your web manifest and configure the content-type header to application/manifest+json, ensuring secure and proper delivery of manifest data.
Review the fast furniture web manifest, detailing name, short name, multiple icon sizes including 144 by 144 for add-to-home-screen, and key settings like orientation and start URL.
Test the add to homescreen prompt by verifying the web manifest with chrome developer tools, ensure the prompt triggers across desktop and mobile devices, including opera and samsung internet.
Intercept and log the before install prompt (add to homescreen) using a service worker and an event listener, and handle the user choice outcome for analytics.
Explore how the app shell caches core assets: HTML, CSS, JavaScript, fonts, and images to accelerate the first meaningful paint. Rely on service workers for pre-caching and offline performance.
Explore app shell architecture for progressive web apps, delivering fast loading through a minimal shell and app chrome with caching via service workers for offline experiences.
Identify critical path assets such as header, footer, layouts, CSS, scripts, and images to build a resilient shell, while caching with service workers for offline reliability.
Optimize web performance by achieving fast first meaningful paint, reducing JavaScript work, and using app shell and service worker caching to render from cache and pre-rendered content.
Evaluate when to use an app shell versus full pre-rendering by analyzing small static sites and large dynamic sites, leveraging service workers and caching for performance.
Explore advanced app shell concepts by implementing pre-rendered HTML, critical CSS, JavaScript, images, and fonts, and mastering granular service worker caching with far-future cache expiration and MD5-hash file naming.
The form submission library is a small, simple library to abstract form serialization to POST JSON objects to an API endpoint.
Explore the fetch API and its promise-based requests, including headers and body objects for service workers. Learn how feature detection and Can I Use guide Safari and IE compatibility.
Compare a traditional XMLHttpRequest ajax call with the fetch API, showing callback handlers, status code checks (200, 300, 400, 500), and JSON parsing via response.json, with error handling via catch.
Learn a basic fetch example: perform a get to a local API with a query string, handle the JSON response using then, check status 200, and debug results.
Explore the response object in progressive web apps, focusing on streams, headers, redirected status, mime type, and body used, and learn to clone responses for caching with service workers.
Explore the headers object, a meta mechanism for request and response communication, including mime types, cache-control, and user-agent. Learn header states—immutable, request, response, none, default—and why some headers are forbidden for security.
Explore how the body object functions as a mixer, abstracting buffers, blobs, form data, JSON, and text into usable file types.
Explore the fetch API's request object, created with an input and optional settings, to configure method, headers, and body for network calls and relate to the response object.
Identify the three response types: basic, cors, and opaque, and understand their access rules, security implications, and how service workers cache cross-origin images, while fetch cannot manipulate opaque data.
Explore cross-origin request modes in fetch calls, including cors and no-cors, and learn how preflight and custom headers control responses like text, json, or blob.
Create custom request objects to configure fetch options for service worker caching, including methods like get, post, put, delete, headers, body with form data, and credentials for authentication and redirects.
Learn how to fetch JSON data from a local API using a query string, handle promises, check status 200, parse JSON, and render product details for a simple product page.
Verify a successful response by checking response.ok and the status, confirm the actual state of the response, and handle non-ok results differently from genuine network issues.
The API replaces traditional Ajax with a cleaner promise-based approach, exposing response, request, headers, and body helpers to format streams and handle errors, with caching in service workers on deck.
Fetch images and post data across origins using the fetch API, handling blobs and opaque responses due to CORS. Compare same-origin benefits via a service worker and local assets.
Demonstrates posting a new customer via fetch using post to a restful api, serializing form data to json, with headers and cors, and handling a 200 response.
Learn how a service worker acts as a proxy between the browser and network, enabling offline access and caching, with push notifications and background sync on modern browsers over HTTPS.
Explore why the web fell short with HTML5, examining perceived slow performance, limited offline capabilities, and complex caching, and show how service workers and progressive web apps address these gaps.
Explore how service workers empower progressive web apps with caching, offline experiences, background synchronization, and native push notifications, boosting web performance beyond the UI thread.
Service workers act as a virtual assistant for your website, running in the background to enable caching, offline use, push notifications, and background sync.
Learn how service workers improve the web with offline-first caching and shared data, and review current browser support across Chrome, Firefox, Android, Windows 10, and Safari considerations.
Explore the service worker life cycle, including registration, installation, activation, updating, and unregistering, and learn how each step controls pages within your app.
Explain how service workers register, install, activate, and enter idle state, and how fetch, push, and background sync wake them, enabling background tasks without a tab open.
Walk through registering a service worker and triggering install and activate events to observe the lifecycle in chrome dev tools.
Learn the service worker lifecycle, including install, activate, and update flows, with skip waiting and controller changes, plus practical use of clients.claim and multi-tab scenarios.
Intercept the service worker installation to pre-cache mission-critical assets (CSS, scripts, images, and fonts) for immediate load, using wait until to complete initialization.
Activate the service worker by understanding when it controls clients, employ clients.claim and skip waiting to activate immediately, and clean up previous caches during the activate event.
Explore the service worker update lifecycle, including triggers (navigation in scope, push, background sync), the 24-hour update check, and how skipWaiting activates a new worker once old clients close.
Learn how to activate and update a news service worker using skip waiting, handle install and activate events, manage registrations, and unregistering with developer tools for debugging and lifecycle insights.
Master service worker scope by placing the service worker in the site root to control the entire domain, and manage subfolder scopes to prevent conflicts and ensure events stay organized.
Explore the three service worker clients—web pages, headless service workers, and shared workers. Use the activate event to claim multiple clients with skip waiting and clients.claim.
Discover how to unregister a service worker programmatically by obtaining the registration reference from getRegistration or navigator.serviceWorker.ready and calling its unregister method.
Learn how to replace a buggy service worker by managing 24-hour update cycles, cache headers, and potential push-triggered updates for safe deployments.
Explore the service worker lifecycle with practical prototypes, covering install and activate, versions behind, and skip waiting, cache naming, and update handling to avoid stale assets.
Progressive Web Applications are just web sites that progressively become apps. But how does this happen? It takes skilled developers that understand a new way to create web sites that are fast, reliable and engaging.
In this course you will learn what progressive web applications are, why you need to master them and why your stakeholders want progressive web applications over traditional web sites and native applications.
Businesses of all sizes are discovering the power progressive web applications bring to help them reach and engage their audiences. This means they can increase revenues while decreasing costs. Brands like Twitter, Lyft, The Washington Post, Forbes and Weather channel have all discovered the benefits upgrading to a progressive web application bring.
The success these companies are having is driving more demand for developers skilled in service workers, web manifest, push notifications and more.
You will learn how to craft an app shell so your experience can progressively load with an instant presence. I expose you to everything you need to know about progressive web applications and service workers.
This course starts each section addressing the beginner, assuming you have no prior knowledge of the topic. Each section progresses and covers more and more detail until there is just about no nook or cranny not exposed.
The course includes video modules that review a combination of slides and code demos. Slides and source code references are included so you can follow along outside the course. Quizzes are also included so you can identify topics you may need to review and sharpen. Finally, the course also includes some articles about selected topic as an additional reference.
You will master the web manifest file so you can tell the browser how to render your brand's desired experience.
HTTPS
Home Screen/Installation Experience
How each browser is and plans to implement PWA support
Service Workers
Service Worker Life Cycle
Service Worker Caching
Push Notifications
Background Synchronization
Basic Performance Best Practices and how to implement the PRPL and RAIL Patterns.
This course does not use any JavaScript frameworks. All examples, primarily a demo site called Fast Furniture, rely on vanilla JavaScript.
The site does use Bootstrap 4 as a CSS library, but know prior Bootstrap knowledge is required.
This does not mean I wont add lectures demonstrating how to use some of the framework PWA CLI tools over time.