SlideShare a Scribd company logo
1 of 87
Progressive Web Applications
Agenda
Evolution of progressive web apps (PWAs)
Gaps in regular web application
Technologies behind PWAs
Libraries and Tools to work with progressive web app technologies
A Use Case
Limitations with PWAs
Evolution of Progressive Web App
Native Apps
Business/Developers
Engagement
Access to native features
Users
User experience
Engagement
Offline support
Native Apps
Business/Developers
Engagement
Access to native features
High development effort
Very less new app installs
20% of users drop while installation
Upgrade
Users
User experience
Engagement
Offline support
Storage
Installation
Web Apps
Users
No installation needed
No additional storage
Easy discovery
Business/Developers
Less development effort
Upgrade
Web Apps
Users
No installation needed
No additional storage
User experience
Offline support
Engagement
Business/Developers
Less development effort
Upgrade
Engagement
Progressive web apps evolution
Addressing the gaps in web apps and native apps
Middle ground
Best of native and Best of web apps
Progressive web applications are
regular web applications with an app like experience.
End of the day. It’s a
Web App
Gaps in regular Web Apps
App like experience
User experience Offline support Re engagement
Gaps in regular Web Apps
App like experience
User experience Offline support Re engagement
User Experience
App on Home Screen Full Screen experience Recently used apps
Add to Home Screen
Web App Manifest
Add to Home screen availability in different browsers
Source: caniuse.com
Gaps in regular web apps
App like experience
User experience Offline support Re engagement
What it is like now What will make the user happy
Web app in offline mode
Caching to the Rescue
App cache is a high level,
declarative API with which you
can specify the resources
you’d want the browser to
cache.
Are we going to use.. App cache?
Rigid
Developed by browser vendors and did not provide developers the
flexibility to customise
Deprecated in Chrome and Firefox browsers.
Limitations with App cache
Service Worker
Service workers are known as a low level api which
acts as a client side proxy.
How does this simple javascript file help me make
my app.. offline?
Browser
Server
Server
How does the Service Worker works?
Service Worker
Client side proxy
Service Worker Life Cycle
Service Worker Life Cycle
Service Worker Life Cycle
Service Worker Life Cycle
Service Worker Life Cycle
Service Worker Life Cycle
Registering Service Worker
What can happen on Install Event
What to cache during this Install Event?!
Application shell is the
minimal HTML, CSS,
and JavaScript powering
a user interface
Application Shell
What do we achieve by using App Shell Architecture?
Installing Service Worker
Fetch event handler
Demo
When is my app updated?
When is my app updated?
New Service Worker?
The app is controlled by a
service worker
Browser detects new service
worker and installs it
New service worker waits until
the pages controlled by
existing worker are closed
This new service worker takes control of the website once
all the pages controlled by old service worker are closed
is ServiceWorker ready?
Source: caniuse.com
Questions?
Should I care about all this If I don’t support
offline?
How do I support offline in all browsers?
Gaps in regular web apps
App like experience
User experience Offline support Re engagement
Push Notification
Service Worker App Server
Uses Notification API to send a
notification to the user
Send message
Push Server
Service Worker Push Server
Subscribe and Get End Point
Service Worker App Server
Send endpoint to the App Server
Push Server
Service Worker
Make request to endpoint
Push Server App Server
Service Worker
Wakes up the service worker
Push Server App Server
Service Worker
Uses Notification API to send a
notification to the user
Push Server App Server
Subscribing to push notification
Listening to push notification
Push Notification availability in different browsers
Source: caniuse.com
The best code is no code at all
Libraries for Service Workers
Sw-Precache
Sw-Toolbox
Sw-Precache
It is a module to generate service worker.
It can be easily integrated with Javascript based build scripts like gulp and grunt.
This generates service worker which caches all the resources according to the
configuration provided.
Sw-Precache
Cache First Strategy
Server
V1 V2
V1 is fully downloaded
V2 only changed files are downloaded
Downloads only delta
Demo
SW-Toolbox
It is another helping library for generating service worker.
Caching strategy for dynamic content.
It can be integrated with Sw-Precache or used individually.
Sw-Precache + Sw-Toolbox = Offline first caching for static content + Choose a
caching strategy for dynamic content.
Sw-Precache + Sw-Toolbox
Demo
Caching Strategies
Network First
Cache First
Fastest
Cache Only
Network Only
Network First
Cache First
Fastest
Cache Only
Network only
Things to note about Service Workers
ServerHTTPS No Business Logic
Are you already a progressive web app
Websites adopted Progressive web apps
Flipkart Lite
3x more time spent on the site
40% higher re-engagement rate
70% greater conversion rate via home screen
3x lower data usage
Source: https://developers.google.com/web/showcase/2016/flipkart
OLA PWA
~60 MB on Android
~100 MB on IOS
~0.5 MB as a PWA
Source: https://developers.google.com/web/showcase/2017/ola
Our Application
Offline first Application.
Smaller upgrades.
Limitations with PWA - Cross Browser Support
Convert your responsive sites to PWA
References
https://www.youtube.com/watch?v=fGTUIlEM0m8
https://developers.google.com/web/fundamentals/getting-started/primers/service-workers
https://jakearchibald.com/2014/offline-cookbook/
https://developers.google.com/web/fundamentals/getting-started/codelabs/push-notifications/
https://github.com/GoogleChrome/samples/tree/gh-pages/service-worker
https://github.com/GoogleChrome/sw-precache
https://github.com/GoogleChrome/sw-toolbox
https://developers.google.com/web/progressive-web-apps/checklist
https://jakearchibald.github.io/isserviceworkerready/
https://whatwebcando.today/
https://developers.google.com/web/tools/lighthouse/
https://medium.com/progressive-web-apps/building-flipkart-lite-a-progressive-web-app-2c211e641883
Questions?

More Related Content

What's hot

What's hot (20)

Pwa.pptx
Pwa.pptxPwa.pptx
Pwa.pptx
 
Progressive Web Applications
Progressive Web ApplicationsProgressive Web Applications
Progressive Web Applications
 
Progressive Web-App (PWA)
Progressive Web-App (PWA)Progressive Web-App (PWA)
Progressive Web-App (PWA)
 
Progressive Web Apps are here!
Progressive Web Apps are here!Progressive Web Apps are here!
Progressive Web Apps are here!
 
Guidance on how to develop a progressive web app using react native!
Guidance on how to develop a progressive web app using react native!Guidance on how to develop a progressive web app using react native!
Guidance on how to develop a progressive web app using react native!
 
Progressive Web App (feat. React, Django)
Progressive Web App (feat. React, Django)Progressive Web App (feat. React, Django)
Progressive Web App (feat. React, Django)
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Progressive Web Apps(PWA)
Progressive Web Apps(PWA)Progressive Web Apps(PWA)
Progressive Web Apps(PWA)
 
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
 
Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...
Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...
Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...
 
Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)
 
Introduction to Progressive Web App
Introduction to Progressive Web AppIntroduction to Progressive Web App
Introduction to Progressive Web App
 
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
 
Progressive Web Apps - Overview & Getting Started
Progressive Web Apps - Overview & Getting StartedProgressive Web Apps - Overview & Getting Started
Progressive Web Apps - Overview & Getting Started
 
Getting Started with Progressive Web Apps
Getting Started with Progressive Web AppsGetting Started with Progressive Web Apps
Getting Started with Progressive Web Apps
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
The Hitchhiker's Guide to Building a Progressive Web App
The Hitchhiker's Guide to Building a Progressive Web AppThe Hitchhiker's Guide to Building a Progressive Web App
The Hitchhiker's Guide to Building a Progressive Web App
 
Progressive web apps with Angular 2
Progressive web apps with Angular 2Progressive web apps with Angular 2
Progressive web apps with Angular 2
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Building a Progressive Web App
Building a  Progressive Web AppBuilding a  Progressive Web App
Building a Progressive Web App
 

Similar to Progressive Web Applications - The Next Gen Web Technologies

Similar to Progressive Web Applications - The Next Gen Web Technologies (20)

PWA basics for developers
PWA basics for developersPWA basics for developers
PWA basics for developers
 
Progressive web app
Progressive web appProgressive web app
Progressive web app
 
Basic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web AppsBasic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web Apps
 
Jws masterclass progressive web apps
Jws masterclass progressive web appsJws masterclass progressive web apps
Jws masterclass progressive web apps
 
PWA ( Progressive Web Apps ) - Sai Kiran Kasireddy
PWA ( Progressive Web Apps ) - Sai Kiran KasireddyPWA ( Progressive Web Apps ) - Sai Kiran Kasireddy
PWA ( Progressive Web Apps ) - Sai Kiran Kasireddy
 
Progressive Web App - Jeff Burtoft at microsoft zaventem 03-10-2016
Progressive Web App - Jeff Burtoft at microsoft zaventem 03-10-2016Progressive Web App - Jeff Burtoft at microsoft zaventem 03-10-2016
Progressive Web App - Jeff Burtoft at microsoft zaventem 03-10-2016
 
The web - What it has, what it lacks and where it must go - keynote at Riga D...
The web - What it has, what it lacks and where it must go - keynote at Riga D...The web - What it has, what it lacks and where it must go - keynote at Riga D...
The web - What it has, what it lacks and where it must go - keynote at Riga D...
 
Checklist for progressive web app development
Checklist for progressive web app developmentChecklist for progressive web app development
Checklist for progressive web app development
 
The web - What it has, what it lacks and where it must go
The web - What it has, what it lacks and where it must goThe web - What it has, what it lacks and where it must go
The web - What it has, what it lacks and where it must go
 
Why And When You Should Consider Using PWAs.pdf
Why And When You Should Consider Using PWAs.pdfWhy And When You Should Consider Using PWAs.pdf
Why And When You Should Consider Using PWAs.pdf
 
The web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - IstanbulThe web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - Istanbul
 
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
PWAs overview
PWAs overview PWAs overview
PWAs overview
 
Serverless Architecture.pdf
Serverless Architecture.pdfServerless Architecture.pdf
Serverless Architecture.pdf
 
Web Applications: Dominance and Drawbacks
Web Applications: Dominance and DrawbacksWeb Applications: Dominance and Drawbacks
Web Applications: Dominance and Drawbacks
 
Introduction of Progressive Web App
Introduction of Progressive Web AppIntroduction of Progressive Web App
Introduction of Progressive Web App
 
Asp Net Vs Vue JS Which One You Should Choose for Development.pdf
Asp Net Vs Vue JS Which One You Should Choose for Development.pdfAsp Net Vs Vue JS Which One You Should Choose for Development.pdf
Asp Net Vs Vue JS Which One You Should Choose for Development.pdf
 
The Ultimate Guide to Modern Web App Development.ppt
The Ultimate Guide to Modern Web App Development.pptThe Ultimate Guide to Modern Web App Development.ppt
The Ultimate Guide to Modern Web App Development.ppt
 

More from GeekNightHyderabad

More from GeekNightHyderabad (20)

Testing strategies in microservices
Testing strategies in microservicesTesting strategies in microservices
Testing strategies in microservices
 
Metaprogramming ruby
Metaprogramming rubyMetaprogramming ruby
Metaprogramming ruby
 
Scaling enterprise digital platforms with kubernetes
Scaling enterprise digital platforms with kubernetesScaling enterprise digital platforms with kubernetes
Scaling enterprise digital platforms with kubernetes
 
FreedomBox & Community Wi-Fi networks
FreedomBox & Community Wi-Fi networksFreedomBox & Community Wi-Fi networks
FreedomBox & Community Wi-Fi networks
 
Rendezvous with aucovei (autonomous connected car)
Rendezvous with aucovei (autonomous connected car)Rendezvous with aucovei (autonomous connected car)
Rendezvous with aucovei (autonomous connected car)
 
Role of AI & ML in beauty care industry
Role of AI & ML in beauty care industryRole of AI & ML in beauty care industry
Role of AI & ML in beauty care industry
 
Breaking down a monolith
Breaking down a monolithBreaking down a monolith
Breaking down a monolith
 
Design lean agile_thinking presentation
Design lean agile_thinking presentationDesign lean agile_thinking presentation
Design lean agile_thinking presentation
 
Scaling pipelines
Scaling pipelinesScaling pipelines
Scaling pipelines
 
Blockchain beyond bitcoin
Blockchain beyond bitcoinBlockchain beyond bitcoin
Blockchain beyond bitcoin
 
Http/2
Http/2Http/2
Http/2
 
Hardware hacking and internet of things
Hardware hacking and internet of thingsHardware hacking and internet of things
Hardware hacking and internet of things
 
Spring to Cloud - REST To Microservices
Spring to Cloud - REST To MicroservicesSpring to Cloud - REST To Microservices
Spring to Cloud - REST To Microservices
 
Serverless
ServerlessServerless
Serverless
 
Building Cloud Native Applications Using Spring Boot and Spring Cloud
Building Cloud Native Applications Using Spring Boot and Spring CloudBuilding Cloud Native Applications Using Spring Boot and Spring Cloud
Building Cloud Native Applications Using Spring Boot and Spring Cloud
 
Scaling a Game Server: From 500 to 100,000 Users
Scaling a Game Server: From 500 to 100,000 UsersScaling a Game Server: From 500 to 100,000 Users
Scaling a Game Server: From 500 to 100,000 Users
 
Big Data - Need of Converged Data Platform
Big Data - Need of Converged Data PlatformBig Data - Need of Converged Data Platform
Big Data - Need of Converged Data Platform
 
Building a Data Lake - An App Dev's Perspective
Building a Data Lake - An App Dev's PerspectiveBuilding a Data Lake - An App Dev's Perspective
Building a Data Lake - An App Dev's Perspective
 
Understanding the Intelligent Cloud
Understanding the Intelligent CloudUnderstanding the Intelligent Cloud
Understanding the Intelligent Cloud
 
GeekNight 22.0 Multi-paradigm programming in Scala and Akka
GeekNight 22.0 Multi-paradigm programming in Scala and AkkaGeekNight 22.0 Multi-paradigm programming in Scala and Akka
GeekNight 22.0 Multi-paradigm programming in Scala and Akka
 

Recently uploaded

Recently uploaded (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Progressive Web Applications - The Next Gen Web Technologies