SlideShare a Scribd company logo
Putting the "Progressive" in
Progressive Web App
Lukáš Kopenec, Senior Full-stack Developer
1
Demo application…
2
https://salsita-meetup-app.herokuapp.com/normal/
PWA Checklist
● Full list at https://developers.google.com/web/progressive-web-apps/checklist
● Basic points
○ Site is served over HTTPS
○ Site is responsive
○ Site has a manifest with metadata
○ Each page has a URL and each URL loads offline (service worker)
3
Lighthouse
● Part of Chrome developer tools
● Runs a number of audits for different aspects of a web application
● PWA audit
4
Manifest
● Simple JSON file
● Indicates how the app should look like and behave when installed
● Required for Chrome to show „Add to Home Screen“ prompt
● Basic data include
○ Name
○ Icons
○ Colors
○ Constraints (scope of the app, required orientation, …)
● https://realfavicongenerator.net/
5
Service Worker
● JavaScript Web Worker
● Programmable Network Proxy
● Terminated when not in use and restarted when next needed
6
Service Worker Lifecycle
7
The intent of the lifecycle is to:
● Make offline-first possible
● Allow a new service worker to get itself
ready without disrupting the current one.
● Ensure an in-scope page is controlled by
the same service worker (or no service
worker) throughout.
● Ensure there's only one version of your
site running at once.
Updating Service Worker
8
● 1 byte difference -> update
● New SW installed alongside the existing
● Installation error -> do not update
● Installed SW waits until the existing
controls 0 clients
○ self.skipWaiting
○ clients.claim
Service Worker – Practical coding
9
● Service workers are heavily promise-based
Service Worker – Practical coding
10
Luckily you can use async / await
Useful Resources
● https://developers.google.com/web/progressive-web-apps/
● https://developers.google.com/web/tools/workbox/
● https://developers.google.com/web/fundamentals/codelabs/push-notifications/
● https://web-push-codelab.glitch.me/
● https://realfavicongenerator.net/
● https://meetup-19-05.salsitasoft.com/
● https://github.com/salsita/salsita-meetup-app
1111
Thank you
1112
Questions? Comments?

More Related Content

PPTX
MuleSoft Kochi Meetup #5– Handling Mule Exceptions
PPTX
Presentation on octobercms
PDF
OpenCms Days 2015: Keynote - OpenCms 10 X marks the spot
PDF
OpenCms Days 2015 Creating Apps for the OpenCms 10 workplace
PPTX
Magento PWA Studio extensibility
PPTX
React and Web Performance
PPTX
Bhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoft
PPTX
MuleSoft MuleSoft Meetup - Shared Flows
MuleSoft Kochi Meetup #5– Handling Mule Exceptions
Presentation on octobercms
OpenCms Days 2015: Keynote - OpenCms 10 X marks the spot
OpenCms Days 2015 Creating Apps for the OpenCms 10 workplace
Magento PWA Studio extensibility
React and Web Performance
Bhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoft
MuleSoft MuleSoft Meetup - Shared Flows

What's hot (17)

PPTX
Indore MuleSoft Meetup #4 : Demystifying Error Handling & Snowflake Integration
PPTX
Meetup presentation-june26
PPTX
Ahmadabad mule soft_meetup_6march2021_azure_CICD
PDF
Seaside Web 2.0
PPTX
Custom MuleSoft connector using Java SDK
PPTX
Progressive Web Apps
PDF
2016 Q1 uPortal Open source Support briefing
PPTX
Web Performance Testing
PDF
MuleSoft Surat Virtual Meetup#7 - JSON Logger and Common Error Handling With ...
PDF
[Srijan Wednesday Webinars] New Recipe of Decoupling: Drupal 8, Symfony and S...
PDF
Gatling & LoadUI - Open Source Tools For Preformance Testing
PPTX
MuleSoft Slack Integration - meetup
PPTX
Phalcon & Vegas CMF
PPTX
Ahmadabad mule soft_meetup_17april2021_mule4_cryptography
PPTX
Cleveland Meetup July 15,2021 - Advanced Batch Processing Concepts
PPTX
Nagpur Mulesoft Meetup on CICD using Jenkins
Indore MuleSoft Meetup #4 : Demystifying Error Handling & Snowflake Integration
Meetup presentation-june26
Ahmadabad mule soft_meetup_6march2021_azure_CICD
Seaside Web 2.0
Custom MuleSoft connector using Java SDK
Progressive Web Apps
2016 Q1 uPortal Open source Support briefing
Web Performance Testing
MuleSoft Surat Virtual Meetup#7 - JSON Logger and Common Error Handling With ...
[Srijan Wednesday Webinars] New Recipe of Decoupling: Drupal 8, Symfony and S...
Gatling & LoadUI - Open Source Tools For Preformance Testing
MuleSoft Slack Integration - meetup
Phalcon & Vegas CMF
Ahmadabad mule soft_meetup_17april2021_mule4_cryptography
Cleveland Meetup July 15,2021 - Advanced Batch Processing Concepts
Nagpur Mulesoft Meetup on CICD using Jenkins
Ad

Similar to Putting the "Progressive" in Progressive Web App By Lukáš Kopenec, Senior Full-stack Developer (20)

PPTX
Pwa.pptx
PDF
pwa-170717082930.pdf
PDF
Checklist for progressive web app development
PPTX
Progressive Web App
PDF
PWA - Progressive WordPress Apps
PPTX
PWA Talk - Smau Milano 2018
PPTX
Progressive Web Apps 101
PPTX
Progressive web app
PPTX
Progressive web app testing
PDF
Progressive Web Apps / GDG DevFest - Season 2016
PPTX
Introduction to Progressive Web Applications
PPTX
Progressive Web Apps
PDF
Progressive Web Apps
PPTX
Introduction to Progressive Web App
PPTX
GDG Ibadan #pwa
PDF
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
PDF
Meet.js Summit 2019 - PWA in practice
PPTX
Progressive Web Apps
PDF
What are Progressive Web Apps & How Will They Impact The World of Web?
PDF
Voxxed Athens 2018 - Getting real with progressive web apps in 2018
Pwa.pptx
pwa-170717082930.pdf
Checklist for progressive web app development
Progressive Web App
PWA - Progressive WordPress Apps
PWA Talk - Smau Milano 2018
Progressive Web Apps 101
Progressive web app
Progressive web app testing
Progressive Web Apps / GDG DevFest - Season 2016
Introduction to Progressive Web Applications
Progressive Web Apps
Progressive Web Apps
Introduction to Progressive Web App
GDG Ibadan #pwa
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
Meet.js Summit 2019 - PWA in practice
Progressive Web Apps
What are Progressive Web Apps & How Will They Impact The World of Web?
Voxxed Athens 2018 - Getting real with progressive web apps in 2018
Ad

Recently uploaded (20)

PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Cost to Outsource Software Development in 2025
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PPTX
Transform Your Business with a Software ERP System
17 Powerful Integrations Your Next-Gen MLM Software Needs
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
wealthsignaloriginal-com-DS-text-... (1).pdf
Advanced SystemCare Ultimate Crack + Portable (2025)
Odoo Companies in India – Driving Business Transformation.pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Monitoring Stack: Grafana, Loki & Promtail
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Design an Analysis of Algorithms II-SECS-1021-03
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
Designing Intelligence for the Shop Floor.pdf
Operating system designcfffgfgggggggvggggggggg
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
Wondershare Filmora 15 Crack With Activation Key [2025
iTop VPN Free 5.6.0.5262 Crack latest version 2025
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Cost to Outsource Software Development in 2025
Design an Analysis of Algorithms I-SECS-1021-03
Why Generative AI is the Future of Content, Code & Creativity?
Transform Your Business with a Software ERP System

Putting the "Progressive" in Progressive Web App By Lukáš Kopenec, Senior Full-stack Developer

  • 1. Putting the "Progressive" in Progressive Web App Lukáš Kopenec, Senior Full-stack Developer 1
  • 3. PWA Checklist ● Full list at https://developers.google.com/web/progressive-web-apps/checklist ● Basic points ○ Site is served over HTTPS ○ Site is responsive ○ Site has a manifest with metadata ○ Each page has a URL and each URL loads offline (service worker) 3
  • 4. Lighthouse ● Part of Chrome developer tools ● Runs a number of audits for different aspects of a web application ● PWA audit 4
  • 5. Manifest ● Simple JSON file ● Indicates how the app should look like and behave when installed ● Required for Chrome to show „Add to Home Screen“ prompt ● Basic data include ○ Name ○ Icons ○ Colors ○ Constraints (scope of the app, required orientation, …) ● https://realfavicongenerator.net/ 5
  • 6. Service Worker ● JavaScript Web Worker ● Programmable Network Proxy ● Terminated when not in use and restarted when next needed 6
  • 7. Service Worker Lifecycle 7 The intent of the lifecycle is to: ● Make offline-first possible ● Allow a new service worker to get itself ready without disrupting the current one. ● Ensure an in-scope page is controlled by the same service worker (or no service worker) throughout. ● Ensure there's only one version of your site running at once.
  • 8. Updating Service Worker 8 ● 1 byte difference -> update ● New SW installed alongside the existing ● Installation error -> do not update ● Installed SW waits until the existing controls 0 clients ○ self.skipWaiting ○ clients.claim
  • 9. Service Worker – Practical coding 9 ● Service workers are heavily promise-based
  • 10. Service Worker – Practical coding 10 Luckily you can use async / await
  • 11. Useful Resources ● https://developers.google.com/web/progressive-web-apps/ ● https://developers.google.com/web/tools/workbox/ ● https://developers.google.com/web/fundamentals/codelabs/push-notifications/ ● https://web-push-codelab.glitch.me/ ● https://realfavicongenerator.net/ ● https://meetup-19-05.salsitasoft.com/ ● https://github.com/salsita/salsita-meetup-app 1111