Progressive Web Apps
STEVE
JOBS
“You’ve got everything you
need if you know how to
write apps using the most
modern web standards to
write amazing apps for the
iPhone today”
2007
STEVE
JOBS
“You’ve got everything you
need if you know how to
write apps using the most
modern web standards to
write amazing apps for the
iPhone today”
2007
STEVE
JOBS
“You’ve got everything you
need if you know how to
write apps using the most
modern web standards to
write amazing apps for the
iPhone today”
2007
ALEX
RUSSELL
Progressive Web Apps:
Escaping Tabs Without Losing
Our Soul
2015
WHAT ARE
PROGRESSIVE WEB
APPS?
WHAT IT’S NOT
A Tool
A Framework
WHAT THEY ARE
Progressive
Works on any device and enhance
functionality progressively.
Discoverable
Better discovery and integration
with search.
Linkable
Ability to retain or reload its state
and be shareable from a link.
Responsive
Fit any device’s form factor and
screen size.
Current
Application and content is up to date
when connected to the Internet.
Re-engageable
Promotes re-engagement through
features such as push notifications.
Performant
Works as fast or faster than a native app.
Connected to users
Direct feedback to you through
ratings and reviews
App-like
Looks like a native app and uses the
application shell model with minimal
page refreshes.
Connectivity-agnostic
Works with low connectivity or offline.
Installable
Install on the device’s desktop,
start menu, or task bar making it
readily available.
MINIMUM
HTTPS Web App Manifest Service Worker
RECOMMENDED
Cross Platform Responsive Deep linking Best Practices
SUPPORT
WHY?
CONNECTIVITY
Service worker takes care of bad connection
• By caching
• Showing custom offline page
PLATFORM INDEPENDENT
100% code share
Not in the store (per se)
WHY?
 No lengthy installation process
 Don’t occupy device storage
 Discoverable
 Secure
 Fast
 Cheap
WHAT ABOUT…?
I NEED A NATIVE APP FOR
Geolocation
I NEED A NATIVE APP FOR
GeolocationW3C API
I NEED A NATIVE APP FOR
Authentication
I NEED A NATIVE APP FOR
AuthenticationWeb API
I NEED A NATIVE APP FOR
Payment
I NEED A NATIVE APP FOR
Payment Request API
I NEED A NATIVE APP FOR
USB
Bluetooth
VR
Gamepad
I NEED A NATIVE APP FOR
Web USB API
Web Bluetooth API
WebVR
Web Gamepad API
IF IT’S REALLY NOT
THERE (YET)
WHO?
EXAMPLES
Starbucks
EXAMPLES
Twitter
EXAMPLES
Pinterest
EXAMPLES
Instagram
MAKING PWA
ANALYZING
LIGHTHOUSE
LIGHTHOUSE
 Chrome Extension
 Dev Tools Audit
 CLI
Lighthouse analyzes web apps and web
pages, collecting modern performance
metrics and insights on developer best
practices.
WEBHINT
webhint is a linting tool that will help you with your site's accessibility, speed,
security and more, by checking your code for best practices and common
error
 Online scanner
 CLI
 Visual Studio Code integration
GETTING STARTED
PWA BUILDER
1. Provide a URL
2. Generate a Manifest
3. Build a Service Worker
4. Publish the App
Generate your Progressive Web App
WEB APP MANIFEST
 W3C standard
 Contains all info about app
 Working Draft - 18 October 2018
<link rel="manifest" href="/manifest.webmanifest">
SERVICE WORKER
 Runs in background
 Handles cache, push, sync
 programmable network proxy
SERVICE
WORKER
Lifecycle
FETCH
 Modern replacement of XMLHttpRequest
 Relies on promises
WHAT’S NEXT?
NOT SHOWN
NOT SHOWN
 Push notifications
 Notifications API + Push API
 Build on top of the Service Worker API
 Background Sync
 Defer actions until stable connection
FRAMEWORKS
Performance Resilience Progressive web app
JavaScript Libraries for adding offline support to web apps
• Precaching
• Runtimecaching Strategies
• Request routing
• Backgroundsync
• Helpful debugging
PREACT-CLI
 App creation
 Index.html app shell generation
 Browser list autoprefixing
 Firebase configuration for server
push
 Powered by sw-precache
VUE
Vue-cli & @vue/cli-plugin-pwa
 Uses WorkBox
 Can automatically generate service worker or
start with existing one
ANGULAR
@angular-cli
 ng add @angular/pwa - Turn your application into
a PWA by adding an app manifest and service
worker
TIPS
TESTING
 F12 tools
 Connect phone with USB
 Chrome://inspect
 Android debugger needs to be running
“adb.exe start-server”
 Custom domain with SSL
 DNS directs to local IP, ie
192.168.1.13
TESTING
• Test on real devices
• Throttling is not enough
• Offline checkbox doesn’t affect websockets
PWA SLACK
https://join.slack.com/t/progressive-web-apps/shared_invite/enQtMjY0NDI2MjAxNTc1LWM4ZWYyNDZhNDRlZDUyNTk5YThhZGQwOWRhZTkwZjAwNTlhNzA3MzY0ZWM0NWQxZmVkZjJhNWEzNTZkYmQ3ZTY
• Events
• Tooling
• Help
• Examples
SERVICEWORKE.RS
ANGULAR CONNECTNovember 6-7
CHROME DEV SUMMITNovember 12-13
THANK YOU!
Timmy Kokke
https://timmykokke.com
https://youtube.com/c/sorskoot
https://webxr.nl
@sorskoot
Timmy.kokke@centric.eu

More Related Content

PPTX
Basic Understanding of Progressive Web Apps
PPTX
Progressive Web Apps
PDF
Progressive web apps
PPTX
Why Progressive Web App is what you need for your Business
PDF
Progressive Web Applications
PDF
How to deal with mobile traffic expansion
PDF
Guidance on how to develop a progressive web app using react native!
PPTX
Jws masterclass progressive web apps
Basic Understanding of Progressive Web Apps
Progressive Web Apps
Progressive web apps
Why Progressive Web App is what you need for your Business
Progressive Web Applications
How to deal with mobile traffic expansion
Guidance on how to develop a progressive web app using react native!
Jws masterclass progressive web apps

What's hot (20)

PPTX
Progressive Web App
PDF
Progressive Web Apps - Bringing the web front and center
PPTX
Progressive Web Apps
PDF
Building REST APIs that don't suck for modern day SPAs
PDF
Introduction to Progressive web app (PWA)
PDF
Progressive Web Apps are here!
PPTX
Progressive web apps
PDF
Getting Started with Progressive Web Apps
PPT
Progressive Web Apps - Up & Running
PDF
Progressive Web Apps: The Breakdown
PDF
Progressive Web Apps / GDG DevFest - Season 2016
PDF
Demystifying Progressive Web Apps
PDF
Progressive web apps with Angular 2
PDF
Progressive web apps
PDF
Progressive Web Apps
PPTX
Progressive Web Apps(PWA)
PDF
SMART DESIGN - icon fonts, svg, and the mobile influence
PPTX
Introduction to Progressive Web App
PDF
Progressive Web App (feat. React, Django)
PPTX
An introduction to Progressive Web Apps
Progressive Web App
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps
Building REST APIs that don't suck for modern day SPAs
Introduction to Progressive web app (PWA)
Progressive Web Apps are here!
Progressive web apps
Getting Started with Progressive Web Apps
Progressive Web Apps - Up & Running
Progressive Web Apps: The Breakdown
Progressive Web Apps / GDG DevFest - Season 2016
Demystifying Progressive Web Apps
Progressive web apps with Angular 2
Progressive web apps
Progressive Web Apps
Progressive Web Apps(PWA)
SMART DESIGN - icon fonts, svg, and the mobile influence
Introduction to Progressive Web App
Progressive Web App (feat. React, Django)
An introduction to Progressive Web Apps
Ad

Similar to Progressive Web Apps (20)

PDF
Progressive Web Apps
PDF
Progressive Web Apps
PDF
WTF R PWAs?
PPTX
Progressive Web App
PPTX
PWA basics for developers
PDF
Checklist for progressive web app development
PPTX
Progressive Web App
PDF
Next Generation Mobile Web - PWA (Progressive Web App)
PPTX
Pwa.pptx
PDF
pwa-170717082930.pdf
PPTX
Progressive web app testing
PDF
Pwa february 2018
PPTX
Progressive Web Apps
PPTX
Building a PWA - For Everyone Who Is Scared To
PPTX
Progressive web apps
PDF
Progressive Web App
PPTX
Future of web development
PPTX
PWAs overview
PPTX
Progressive Web Apps
Progressive Web Apps
Progressive Web Apps
WTF R PWAs?
Progressive Web App
PWA basics for developers
Checklist for progressive web app development
Progressive Web App
Next Generation Mobile Web - PWA (Progressive Web App)
Pwa.pptx
pwa-170717082930.pdf
Progressive web app testing
Pwa february 2018
Progressive Web Apps
Building a PWA - For Everyone Who Is Scared To
Progressive web apps
Progressive Web App
Future of web development
PWAs overview
Progressive Web Apps
Ad

More from Timmy Kokke (19)

PPTX
WebXR Frameworks - XRCC - 5 different WebXR Frameworks compared based on pers...
PPTX
Back to Space
PPTX
Why front-end matters in 2019
PPTX
Centric - PWA WebCast
PPTX
WebXR - Introduction and Workshop
PPTX
Virtual Reality on the Web
PPTX
WebVR with Babylon.JS
PPTX
VR in a Box
PPTX
VR in a Box
PPTX
Progressive Web Apps - Lightning Talk
PPTX
JavaScript in Universal Windows Platform apps
PPTX
Store apps with AngularJS
PPTX
Resharper - Next Steps
PPTX
TypeScript in Windows Store apps
PPTX
Reusing JavaScript knowledge in Windows Store apps
PPTX
Beginning with blend
PPTX
What's Silverlight?
PPTX
Unit Testing MVVM in Silverlight
PPTX
HTML5 - An Introduction
WebXR Frameworks - XRCC - 5 different WebXR Frameworks compared based on pers...
Back to Space
Why front-end matters in 2019
Centric - PWA WebCast
WebXR - Introduction and Workshop
Virtual Reality on the Web
WebVR with Babylon.JS
VR in a Box
VR in a Box
Progressive Web Apps - Lightning Talk
JavaScript in Universal Windows Platform apps
Store apps with AngularJS
Resharper - Next Steps
TypeScript in Windows Store apps
Reusing JavaScript knowledge in Windows Store apps
Beginning with blend
What's Silverlight?
Unit Testing MVVM in Silverlight
HTML5 - An Introduction

Recently uploaded (20)

PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPTX
The various Industrial Revolutions .pptx
PPTX
Modernising the Digital Integration Hub
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
DP Operators-handbook-extract for the Mautical Institute
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Unlock new opportunities with location data.pdf
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPT
Geologic Time for studying geology for geologist
PDF
Getting Started with Data Integration: FME Form 101
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
A review of recent deep learning applications in wood surface defect identifi...
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
The various Industrial Revolutions .pptx
Modernising the Digital Integration Hub
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Enhancing emotion recognition model for a student engagement use case through...
DP Operators-handbook-extract for the Mautical Institute
Module 1.ppt Iot fundamentals and Architecture
sustainability-14-14877-v2.pddhzftheheeeee
CloudStack 4.21: First Look Webinar slides
Unlock new opportunities with location data.pdf
Zenith AI: Advanced Artificial Intelligence
observCloud-Native Containerability and monitoring.pptx
Assigned Numbers - 2025 - Bluetooth® Document
Group 1 Presentation -Planning and Decision Making .pptx
O2C Customer Invoices to Receipt V15A.pptx
A comparative study of natural language inference in Swahili using monolingua...
Geologic Time for studying geology for geologist
Getting Started with Data Integration: FME Form 101
How ambidextrous entrepreneurial leaders react to the artificial intelligence...

Progressive Web Apps

Editor's Notes

  • #6: https://infrequently.org/2015/06/progressive-apps-escaping-tabs-without-losing-our-soul/
  • #12: Since IOS 11.3 also on IOS!
  • #19: Uber & Google maps Go
  • #21: Windows Hello
  • #28: https://preview.startbucks.com
  • #29: https://mobile.twitter.com
  • #30: https://pinterest.com
  • #31: https://Instagram.com
  • #32: Build demosite with bootstrap studio and deploy with FTP. LightHouse PWA Builder Create Icon Add manifest Add Service worker with offline page
  • #36: Was SonarWhal Started my MS Edge team, wanted open source and community driven
  • #43: Build demosite with bootstrap studio and deploy with FTP.
  • #48: Static index.html
  • #56: Maxime Salnikov Building an Angular PWA: Angular Service Worker or Workbox?