際際滷

際際滷Share a Scribd company logo
Progressive Web
Applications
Developer Student Club
Suraj Kumar
@surajsugga
surajsugga.me
Developer Student Club
A Progressive Web App uses
modern web capabilities to deliver
an app-like user experience.
They evolve from pages in browser
tabs to immersive, top-level apps,
Maintaining the web's low friction
at every moment.
It's important to remember that PWA work
everywhere but are supercharged in modern browsers.
Progressive enhancement is a backbone of the model.
Developer Student Club
PROGRESSIVE WEB APPS ARE:
Progressive: Work for every user, regardless of browser choice
because theyre built with progressive enhancement as a core tenet.
Responsive: Fit any form factor, desktop, mobile, tablet, or
whatever is next.
Connectivity independent: Enhanced with service workers to
work offline or on low quality networks.
Developer Student Club
PROGRESSIVE WEB APPS ARE:
App-like: Use the app-shell model to provide app-style
navigations and interactions.
Fresh: Always up-to-date thanks to the service worker update
process.
Safe: Served via TLS to prevent snooping and ensure content
hasnt been tampered with.
Developer Student Club
PROGRESSIVE WEB APPS ARE:
Discoverable: Are identifiable as applications thanks to W3C
manifests and service worker registration scope allowing search
engines to find them.
Re-engageable: Make re-engagement easy through features
like push notifications.
Installable: Allow users to keep apps they find most useful
on their home screen without the hassle of an app store.
Developer Student Club
DEVELOPMENT PRINCIPLES
1 2 3 4
Web App
Manifest
Add to
Home
Screen
Banner
Service
Workers
Push
Notifications
Developer Student Club
WEB APP MANIFEST
The Manifest for Web applications is a simple JSON file
that
gives you, the developer, the ability to control how your
app
appears to the user in the areas that they would expect to
see apps (for example the device home screen), direct
what
the user can launch and more importantly how they can
launch it
Developer Student Club
The manifest enables your web app to have a more native-like presence on the user's home screen.
It allows the app to be launched in full-screen mode, provides control over the screen orientation and
in recent versions of Chrome on Android supports defining a Splash Screen and theme color
for the address bar. It is also used to define a set of icons by size and density used for the
aforementioned Splash screen and homescreen icon.
Developer Student Club
ADD TO HOME SCREEN BANNER
Chrome on Android has support adding in your site to
the
homescreen for a while now, but recent versions also
support proactively suggesting sites be added using
native
Web App install banners.
Developer Student Club
In order for the app install prompts
to display your app must:
I. A valid Web App manifest
II. Served over HTTPS
I. A valid service worker registered
II. Be visited twice, with at least 5 minutes
between visits.
V. A number of App Install banner samples
are available, covering basic banners
through to more complex use-cases like
displaying related applications.
Developer Student Club
SERVICE WORKER
FOR OFFLINE CACHING
A service worker is a script that runs in the background,
separate from your web page.It responds to events,
including network requests made from pages it serves.
A service worker has an intentionally short lifetime
Developer Student Club
Service workers are powerful for offline caching but they also offer significant
performance wins in the form of instant loading for repeat visits to your site
or web app. You can cache your application shell so it works offline and
populate its content using JavaScript.
Developer Student Club
PUSH NOTIFICATIONS
FOR RE-ENGAGEMENT
Push notifications allow your users to opt-in to timely
updates from sites they love and allow you to effectively re-
engage them with customized, engaging content
Developer Student Club
Lets Build
A Progressive Web App
Developer Student Club
SETTING UP THE APPLICATION BOILERPLATE
1. Download a website template from this link:
https://goo.gl/XBwkPg
2. Extract the ZIP File on Desktop
3. Open the Folder as project in Brackets(or any other IDE).
For Step by Step Reference Use this Link: https://goo.gl/NzmSPL
Developer Student Club
Understanding Themanifest.json
Your Application Name
(Visible on Splash Screen)
Short Name of App
(Visible on Home Screen)
App Icon
(Visible on Home Screen & Splash Screen ,It accepts an array of different size
icons for different purpose)
Default Screen
(This screen will be your default screen when your application is launched
from homecreen)
Header color
(It defines the color of browser
header)
Splash screen Color
(It defines the background color of
splash screen when launched from
homescreen)
Launch Mode
(It defines the Launching behaviour
of your app)
Orientation Mode
(It defines the Orientation of your
app)
Developer Student Club
Understanding The Service worker at OS Level
??? How a web App Can fire a Push Notification when Application or browser is closed. ???
Your JavaScript Application
Application Service Worker
Thread 1
Thread 2
Both Service worker and Application runs on different thread. Whenever application is closed
Service Worker thread it still working and listening to various events.
Developer Student Club
Implementation of service worker.
Register a Service Worker File.
Write the Service Worker Code.
Developer Student Club
Registering a Service Worker.
This Condition will check
for any active service
worker
If a active Service Worker is not found then register a new service worker that is sw.js in the above
Example.
The scope defines which
Part of the app should be
Controlled by this service
Worker. In this ex. We are
Giving ./ it is the address
Of our application root.
It means sw.js can control
the whole Application
Developer Student Club
Follow this Link for Step by Step Instruction:
https://goo.gl/NzmSPL
Developer Student Club
Some Awesome tools for Building & Testing PWA
Lighthouse
Lighthouse is an open-source, automated tool for
improving the performance, quality, and correctness of your web apps.
favicon-generator.org
Favicon generator is a tool to generate different size icon for different devices and
generate code for integrating them.
PWA Builder
It is a tool to generate service worker code for various scenarios.
It can be accessed at: https://www.pwabuilder.com/generator
Developer Student Club
Some Awesome Tutorials
Developer Student Club
https://developers.google.com/web/ilt/pwa/
Need Support??? Feel Free to connect with me.
singhsugga96@gmail.com | dsclpu@gmail.com
facebook.com/surajsugga
linkedin.com/in/surajsuggasingh/
HAPPY LEARNING
Developer Student Club

More Related Content

What's hot (20)

Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Software Infrastructure
Progressive web app
Progressive web appProgressive web app
Progressive web app
Deepak Upadhyay
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
Subodh Garg
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
Christopher Nguyen
Progressive Web-App (PWA)
Progressive Web-App (PWA)Progressive Web-App (PWA)
Progressive Web-App (PWA)
NexThoughts Technologies
Pwa demystified
Pwa demystifiedPwa demystified
Pwa demystified
edynamic
Anatomy of a Progressive Web App
Anatomy of a Progressive Web AppAnatomy of a Progressive Web App
Anatomy of a Progressive Web App
Mike North
Progressive web apps with Angular 2
Progressive web apps with Angular 2Progressive web apps with Angular 2
Progressive web apps with Angular 2
Manfred Steyer
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
Padmaashree K
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Jana Moudr叩
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...
Robert Nyman
Why Progressive Web App is what you need for your Business
Why Progressive Web App is what you need for your BusinessWhy Progressive Web App is what you need for your Business
Why Progressive Web App is what you need for your Business
Lets Grow Business
Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016
Abdelrahman Omran
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Nitheesh T Ganesh
Progressive Web Applications
Progressive Web ApplicationsProgressive Web Applications
Progressive Web Applications
Bartek Igielski
Jws masterclass progressive web apps
Jws masterclass progressive web appsJws masterclass progressive web apps
Jws masterclass progressive web apps
Alexandre Marreiros
Building a Progressive Web App
Building a  Progressive Web AppBuilding a  Progressive Web App
Building a Progressive Web App
Ido Green
Progressive web apps
 Progressive web apps Progressive web apps
Progressive web apps
Neha Sharma
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...
Robert Nyman
Next Generation Mobile Web - PWA (Progressive Web App)
Next Generation Mobile Web  - PWA (Progressive Web App)Next Generation Mobile Web  - PWA (Progressive Web App)
Next Generation Mobile Web - PWA (Progressive Web App)
Nuri Cahyono
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
Subodh Garg
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
Christopher Nguyen
Pwa demystified
Pwa demystifiedPwa demystified
Pwa demystified
edynamic
Anatomy of a Progressive Web App
Anatomy of a Progressive Web AppAnatomy of a Progressive Web App
Anatomy of a Progressive Web App
Mike North
Progressive web apps with Angular 2
Progressive web apps with Angular 2Progressive web apps with Angular 2
Progressive web apps with Angular 2
Manfred Steyer
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
Padmaashree K
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Jana Moudr叩
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...
Robert Nyman
Why Progressive Web App is what you need for your Business
Why Progressive Web App is what you need for your BusinessWhy Progressive Web App is what you need for your Business
Why Progressive Web App is what you need for your Business
Lets Grow Business
Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016
Abdelrahman Omran
Progressive Web Applications
Progressive Web ApplicationsProgressive Web Applications
Progressive Web Applications
Bartek Igielski
Jws masterclass progressive web apps
Jws masterclass progressive web appsJws masterclass progressive web apps
Jws masterclass progressive web apps
Alexandre Marreiros
Building a Progressive Web App
Building a  Progressive Web AppBuilding a  Progressive Web App
Building a Progressive Web App
Ido Green
Progressive web apps
 Progressive web apps Progressive web apps
Progressive web apps
Neha Sharma
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...
Robert Nyman
Next Generation Mobile Web - PWA (Progressive Web App)
Next Generation Mobile Web  - PWA (Progressive Web App)Next Generation Mobile Web  - PWA (Progressive Web App)
Next Generation Mobile Web - PWA (Progressive Web App)
Nuri Cahyono

Similar to Progressive web apps (20)

PWAs overview
PWAs overview PWAs overview
PWAs overview
TejinderMakkar
Progressive Web Applications - The Next Gen Web Technologies
Progressive Web Applications - The Next Gen Web TechnologiesProgressive Web Applications - The Next Gen Web Technologies
Progressive Web Applications - The Next Gen Web Technologies
GeekNightHyderabad
progressive web app
 progressive web app progressive web app
progressive web app
RAGINI .
Progressive Web Application by Citytech
Progressive Web Application by CitytechProgressive Web Application by Citytech
Progressive Web Application by Citytech
Ritwik Das
Basic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web AppsBasic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web Apps
AnjaliTanpure1
Progressive web application
Progressive web applicationProgressive web application
Progressive web application
RavikantGautam8
Checklist for progressive web app development
Checklist for progressive web app developmentChecklist for progressive web app development
Checklist for progressive web app development
WebGuru Infosystems Pvt. Ltd.
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
Saleh Rahimzadeh
Learn Programming Languages & Get Programming Assignment Sample Solutions PDF...
Learn Programming Languages & Get Programming Assignment Sample Solutions PDF...Learn Programming Languages & Get Programming Assignment Sample Solutions PDF...
Learn Programming Languages & Get Programming Assignment Sample Solutions PDF...
Assignment Task
How to Build a Hybrid App: A Detailed Outline
How to Build a Hybrid App: A Detailed Outline How to Build a Hybrid App: A Detailed Outline
How to Build a Hybrid App: A Detailed Outline
WebGuru Infosystems Pvt. Ltd.
Go for Progressive Web Apps. Get a Better, Low Cost, Mobile Presence
Go for Progressive Web Apps. Get a Better, Low Cost, Mobile PresenceGo for Progressive Web Apps. Get a Better, Low Cost, Mobile Presence
Go for Progressive Web Apps. Get a Better, Low Cost, Mobile Presence
Magic Software
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
Sai Kiran Kasireddy
How to Create Web App With Simple Step by Step Process
How to Create Web App With Simple Step by Step ProcessHow to Create Web App With Simple Step by Step Process
How to Create Web App With Simple Step by Step Process
Debuggers Studio
COMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docxCOMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docx
write31
How to deal with mobile traffic expansion
How to deal with mobile traffic expansionHow to deal with mobile traffic expansion
How to deal with mobile traffic expansion
Mevlana M. G端rbulak
PWA basics for developers
PWA basics for developersPWA basics for developers
PWA basics for developers
Filip Rakowski
Progressive Web Apps The Future of Apps
Progressive Web Apps The Future of Apps   Progressive Web Apps The Future of Apps
Progressive Web Apps The Future of Apps
Ashish Saxena
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
Robert Nyman
Ajax
AjaxAjax
Ajax
Taroub Issa
IRJET-Garbage Monitoring and Management using Internet of things
IRJET-Garbage Monitoring and Management using Internet of thingsIRJET-Garbage Monitoring and Management using Internet of things
IRJET-Garbage Monitoring and Management using Internet of things
IRJET Journal
Progressive Web Applications - The Next Gen Web Technologies
Progressive Web Applications - The Next Gen Web TechnologiesProgressive Web Applications - The Next Gen Web Technologies
Progressive Web Applications - The Next Gen Web Technologies
GeekNightHyderabad
progressive web app
 progressive web app progressive web app
progressive web app
RAGINI .
Progressive Web Application by Citytech
Progressive Web Application by CitytechProgressive Web Application by Citytech
Progressive Web Application by Citytech
Ritwik Das
Basic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web AppsBasic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web Apps
AnjaliTanpure1
Progressive web application
Progressive web applicationProgressive web application
Progressive web application
RavikantGautam8
Learn Programming Languages & Get Programming Assignment Sample Solutions PDF...
Learn Programming Languages & Get Programming Assignment Sample Solutions PDF...Learn Programming Languages & Get Programming Assignment Sample Solutions PDF...
Learn Programming Languages & Get Programming Assignment Sample Solutions PDF...
Assignment Task
Go for Progressive Web Apps. Get a Better, Low Cost, Mobile Presence
Go for Progressive Web Apps. Get a Better, Low Cost, Mobile PresenceGo for Progressive Web Apps. Get a Better, Low Cost, Mobile Presence
Go for Progressive Web Apps. Get a Better, Low Cost, Mobile Presence
Magic Software
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
Sai Kiran Kasireddy
How to Create Web App With Simple Step by Step Process
How to Create Web App With Simple Step by Step ProcessHow to Create Web App With Simple Step by Step Process
How to Create Web App With Simple Step by Step Process
Debuggers Studio
COMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docxCOMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docx
write31
How to deal with mobile traffic expansion
How to deal with mobile traffic expansionHow to deal with mobile traffic expansion
How to deal with mobile traffic expansion
Mevlana M. G端rbulak
PWA basics for developers
PWA basics for developersPWA basics for developers
PWA basics for developers
Filip Rakowski
Progressive Web Apps The Future of Apps
Progressive Web Apps The Future of Apps   Progressive Web Apps The Future of Apps
Progressive Web Apps The Future of Apps
Ashish Saxena
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
Robert Nyman
IRJET-Garbage Monitoring and Management using Internet of things
IRJET-Garbage Monitoring and Management using Internet of thingsIRJET-Garbage Monitoring and Management using Internet of things
IRJET-Garbage Monitoring and Management using Internet of things
IRJET Journal

Recently uploaded (20)

Industrial Valves, Instruments Products Profile
Industrial Valves, Instruments Products ProfileIndustrial Valves, Instruments Products Profile
Industrial Valves, Instruments Products Profile
zebcoeng
How to Make an RFID Door Lock System using Arduino
How to Make an RFID Door Lock System using ArduinoHow to Make an RFID Door Lock System using Arduino
How to Make an RFID Door Lock System using Arduino
CircuitDigest
only history of java.pptx real bihind the name java
only history of java.pptx real bihind the name javaonly history of java.pptx real bihind the name java
only history of java.pptx real bihind the name java
mushtaqsaliq9
Turbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdfTurbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdf
Totok Sulistiyanto
Multi objective genetic approach with Ranking
Multi objective genetic approach with RankingMulti objective genetic approach with Ranking
Multi objective genetic approach with Ranking
namisha18
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptxUNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
KesavanT10
CS3451 INTRODUCTIONN TO OS unit ONE .pdf
CS3451 INTRODUCTIONN TO OS unit ONE .pdfCS3451 INTRODUCTIONN TO OS unit ONE .pdf
CS3451 INTRODUCTIONN TO OS unit ONE .pdf
PonniS7
google_developer_group_ramdeobaba_university_EXPLORE_PPT
google_developer_group_ramdeobaba_university_EXPLORE_PPTgoogle_developer_group_ramdeobaba_university_EXPLORE_PPT
google_developer_group_ramdeobaba_university_EXPLORE_PPT
JayeshShete1
Gauges are a Pump's Best Friend - Troubleshooting and Operations - v.07
Gauges are a Pump's Best Friend - Troubleshooting and Operations - v.07Gauges are a Pump's Best Friend - Troubleshooting and Operations - v.07
Gauges are a Pump's Best Friend - Troubleshooting and Operations - v.07
Brian Gongol
Piping-and-pipeline-calculations-manual.pdf
Piping-and-pipeline-calculations-manual.pdfPiping-and-pipeline-calculations-manual.pdf
Piping-and-pipeline-calculations-manual.pdf
OMI0721
BS_EN_ISO_19650_Detailed_Presentation.pptx
BS_EN_ISO_19650_Detailed_Presentation.pptxBS_EN_ISO_19650_Detailed_Presentation.pptx
BS_EN_ISO_19650_Detailed_Presentation.pptx
VinkuMeena
Cyber Security_ Protecting the Digital World.pptx
Cyber Security_ Protecting the Digital World.pptxCyber Security_ Protecting the Digital World.pptx
Cyber Security_ Protecting the Digital World.pptx
Harshith A S
Air pollution is contamination of the indoor or outdoor environment by any ch...
Air pollution is contamination of the indoor or outdoor environment by any ch...Air pollution is contamination of the indoor or outdoor environment by any ch...
Air pollution is contamination of the indoor or outdoor environment by any ch...
dhanashree78
Best KNow Hydrogen Fuel Production in the World The cost in USD kwh for H2
Best KNow  Hydrogen Fuel Production in the World The cost in USD kwh for H2Best KNow  Hydrogen Fuel Production in the World The cost in USD kwh for H2
Best KNow Hydrogen Fuel Production in the World The cost in USD kwh for H2
Daniel Donatelli
AI, Tariffs and Supply Chains in Knowledge Graphs
AI, Tariffs and Supply Chains in Knowledge GraphsAI, Tariffs and Supply Chains in Knowledge Graphs
AI, Tariffs and Supply Chains in Knowledge Graphs
Max De Marzi
How to Build a Maze Solving Robot Using Arduino
How to Build a Maze Solving Robot Using ArduinoHow to Build a Maze Solving Robot Using Arduino
How to Build a Maze Solving Robot Using Arduino
CircuitDigest
15. Smart Cities Big Data, Civic Hackers, and the Quest for a New Utopia.pdf
15. Smart Cities Big Data, Civic Hackers, and the Quest for a New Utopia.pdf15. Smart Cities Big Data, Civic Hackers, and the Quest for a New Utopia.pdf
15. Smart Cities Big Data, Civic Hackers, and the Quest for a New Utopia.pdf
NgocThang9
Lecture -3 Cold water supply system.pptx
Lecture -3 Cold water supply system.pptxLecture -3 Cold water supply system.pptx
Lecture -3 Cold water supply system.pptx
rabiaatif2
Cloud Computing concepts and technologies
Cloud Computing concepts and technologiesCloud Computing concepts and technologies
Cloud Computing concepts and technologies
ssuser4c9444
Wireless-Charger presentation for seminar .pdf
Wireless-Charger presentation for seminar .pdfWireless-Charger presentation for seminar .pdf
Wireless-Charger presentation for seminar .pdf
AbhinandanMishra30
Industrial Valves, Instruments Products Profile
Industrial Valves, Instruments Products ProfileIndustrial Valves, Instruments Products Profile
Industrial Valves, Instruments Products Profile
zebcoeng
How to Make an RFID Door Lock System using Arduino
How to Make an RFID Door Lock System using ArduinoHow to Make an RFID Door Lock System using Arduino
How to Make an RFID Door Lock System using Arduino
CircuitDigest
only history of java.pptx real bihind the name java
only history of java.pptx real bihind the name javaonly history of java.pptx real bihind the name java
only history of java.pptx real bihind the name java
mushtaqsaliq9
Turbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdfTurbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdf
Totok Sulistiyanto
Multi objective genetic approach with Ranking
Multi objective genetic approach with RankingMulti objective genetic approach with Ranking
Multi objective genetic approach with Ranking
namisha18
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptxUNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
KesavanT10
CS3451 INTRODUCTIONN TO OS unit ONE .pdf
CS3451 INTRODUCTIONN TO OS unit ONE .pdfCS3451 INTRODUCTIONN TO OS unit ONE .pdf
CS3451 INTRODUCTIONN TO OS unit ONE .pdf
PonniS7
google_developer_group_ramdeobaba_university_EXPLORE_PPT
google_developer_group_ramdeobaba_university_EXPLORE_PPTgoogle_developer_group_ramdeobaba_university_EXPLORE_PPT
google_developer_group_ramdeobaba_university_EXPLORE_PPT
JayeshShete1
Gauges are a Pump's Best Friend - Troubleshooting and Operations - v.07
Gauges are a Pump's Best Friend - Troubleshooting and Operations - v.07Gauges are a Pump's Best Friend - Troubleshooting and Operations - v.07
Gauges are a Pump's Best Friend - Troubleshooting and Operations - v.07
Brian Gongol
Piping-and-pipeline-calculations-manual.pdf
Piping-and-pipeline-calculations-manual.pdfPiping-and-pipeline-calculations-manual.pdf
Piping-and-pipeline-calculations-manual.pdf
OMI0721
BS_EN_ISO_19650_Detailed_Presentation.pptx
BS_EN_ISO_19650_Detailed_Presentation.pptxBS_EN_ISO_19650_Detailed_Presentation.pptx
BS_EN_ISO_19650_Detailed_Presentation.pptx
VinkuMeena
Cyber Security_ Protecting the Digital World.pptx
Cyber Security_ Protecting the Digital World.pptxCyber Security_ Protecting the Digital World.pptx
Cyber Security_ Protecting the Digital World.pptx
Harshith A S
Air pollution is contamination of the indoor or outdoor environment by any ch...
Air pollution is contamination of the indoor or outdoor environment by any ch...Air pollution is contamination of the indoor or outdoor environment by any ch...
Air pollution is contamination of the indoor or outdoor environment by any ch...
dhanashree78
Best KNow Hydrogen Fuel Production in the World The cost in USD kwh for H2
Best KNow  Hydrogen Fuel Production in the World The cost in USD kwh for H2Best KNow  Hydrogen Fuel Production in the World The cost in USD kwh for H2
Best KNow Hydrogen Fuel Production in the World The cost in USD kwh for H2
Daniel Donatelli
AI, Tariffs and Supply Chains in Knowledge Graphs
AI, Tariffs and Supply Chains in Knowledge GraphsAI, Tariffs and Supply Chains in Knowledge Graphs
AI, Tariffs and Supply Chains in Knowledge Graphs
Max De Marzi
How to Build a Maze Solving Robot Using Arduino
How to Build a Maze Solving Robot Using ArduinoHow to Build a Maze Solving Robot Using Arduino
How to Build a Maze Solving Robot Using Arduino
CircuitDigest
15. Smart Cities Big Data, Civic Hackers, and the Quest for a New Utopia.pdf
15. Smart Cities Big Data, Civic Hackers, and the Quest for a New Utopia.pdf15. Smart Cities Big Data, Civic Hackers, and the Quest for a New Utopia.pdf
15. Smart Cities Big Data, Civic Hackers, and the Quest for a New Utopia.pdf
NgocThang9
Lecture -3 Cold water supply system.pptx
Lecture -3 Cold water supply system.pptxLecture -3 Cold water supply system.pptx
Lecture -3 Cold water supply system.pptx
rabiaatif2
Cloud Computing concepts and technologies
Cloud Computing concepts and technologiesCloud Computing concepts and technologies
Cloud Computing concepts and technologies
ssuser4c9444
Wireless-Charger presentation for seminar .pdf
Wireless-Charger presentation for seminar .pdfWireless-Charger presentation for seminar .pdf
Wireless-Charger presentation for seminar .pdf
AbhinandanMishra30

Progressive web apps

  • 3. A Progressive Web App uses modern web capabilities to deliver an app-like user experience. They evolve from pages in browser tabs to immersive, top-level apps, Maintaining the web's low friction at every moment. It's important to remember that PWA work everywhere but are supercharged in modern browsers. Progressive enhancement is a backbone of the model. Developer Student Club
  • 4. PROGRESSIVE WEB APPS ARE: Progressive: Work for every user, regardless of browser choice because theyre built with progressive enhancement as a core tenet. Responsive: Fit any form factor, desktop, mobile, tablet, or whatever is next. Connectivity independent: Enhanced with service workers to work offline or on low quality networks. Developer Student Club
  • 5. PROGRESSIVE WEB APPS ARE: App-like: Use the app-shell model to provide app-style navigations and interactions. Fresh: Always up-to-date thanks to the service worker update process. Safe: Served via TLS to prevent snooping and ensure content hasnt been tampered with. Developer Student Club
  • 6. PROGRESSIVE WEB APPS ARE: Discoverable: Are identifiable as applications thanks to W3C manifests and service worker registration scope allowing search engines to find them. Re-engageable: Make re-engagement easy through features like push notifications. Installable: Allow users to keep apps they find most useful on their home screen without the hassle of an app store. Developer Student Club
  • 7. DEVELOPMENT PRINCIPLES 1 2 3 4 Web App Manifest Add to Home Screen Banner Service Workers Push Notifications Developer Student Club
  • 8. WEB APP MANIFEST The Manifest for Web applications is a simple JSON file that gives you, the developer, the ability to control how your app appears to the user in the areas that they would expect to see apps (for example the device home screen), direct what the user can launch and more importantly how they can launch it Developer Student Club
  • 9. The manifest enables your web app to have a more native-like presence on the user's home screen. It allows the app to be launched in full-screen mode, provides control over the screen orientation and in recent versions of Chrome on Android supports defining a Splash Screen and theme color for the address bar. It is also used to define a set of icons by size and density used for the aforementioned Splash screen and homescreen icon. Developer Student Club
  • 10. ADD TO HOME SCREEN BANNER Chrome on Android has support adding in your site to the homescreen for a while now, but recent versions also support proactively suggesting sites be added using native Web App install banners. Developer Student Club
  • 11. In order for the app install prompts to display your app must: I. A valid Web App manifest II. Served over HTTPS I. A valid service worker registered II. Be visited twice, with at least 5 minutes between visits. V. A number of App Install banner samples are available, covering basic banners through to more complex use-cases like displaying related applications. Developer Student Club
  • 12. SERVICE WORKER FOR OFFLINE CACHING A service worker is a script that runs in the background, separate from your web page.It responds to events, including network requests made from pages it serves. A service worker has an intentionally short lifetime Developer Student Club
  • 13. Service workers are powerful for offline caching but they also offer significant performance wins in the form of instant loading for repeat visits to your site or web app. You can cache your application shell so it works offline and populate its content using JavaScript. Developer Student Club
  • 14. PUSH NOTIFICATIONS FOR RE-ENGAGEMENT Push notifications allow your users to opt-in to timely updates from sites they love and allow you to effectively re- engage them with customized, engaging content Developer Student Club
  • 15. Lets Build A Progressive Web App Developer Student Club
  • 16. SETTING UP THE APPLICATION BOILERPLATE 1. Download a website template from this link: https://goo.gl/XBwkPg 2. Extract the ZIP File on Desktop 3. Open the Folder as project in Brackets(or any other IDE). For Step by Step Reference Use this Link: https://goo.gl/NzmSPL Developer Student Club
  • 17. Understanding Themanifest.json Your Application Name (Visible on Splash Screen) Short Name of App (Visible on Home Screen) App Icon (Visible on Home Screen & Splash Screen ,It accepts an array of different size icons for different purpose) Default Screen (This screen will be your default screen when your application is launched from homecreen) Header color (It defines the color of browser header) Splash screen Color (It defines the background color of splash screen when launched from homescreen) Launch Mode (It defines the Launching behaviour of your app) Orientation Mode (It defines the Orientation of your app) Developer Student Club
  • 18. Understanding The Service worker at OS Level ??? How a web App Can fire a Push Notification when Application or browser is closed. ??? Your JavaScript Application Application Service Worker Thread 1 Thread 2 Both Service worker and Application runs on different thread. Whenever application is closed Service Worker thread it still working and listening to various events. Developer Student Club
  • 19. Implementation of service worker. Register a Service Worker File. Write the Service Worker Code. Developer Student Club
  • 20. Registering a Service Worker. This Condition will check for any active service worker If a active Service Worker is not found then register a new service worker that is sw.js in the above Example. The scope defines which Part of the app should be Controlled by this service Worker. In this ex. We are Giving ./ it is the address Of our application root. It means sw.js can control the whole Application Developer Student Club
  • 21. Follow this Link for Step by Step Instruction: https://goo.gl/NzmSPL Developer Student Club
  • 22. Some Awesome tools for Building & Testing PWA Lighthouse Lighthouse is an open-source, automated tool for improving the performance, quality, and correctness of your web apps. favicon-generator.org Favicon generator is a tool to generate different size icon for different devices and generate code for integrating them. PWA Builder It is a tool to generate service worker code for various scenarios. It can be accessed at: https://www.pwabuilder.com/generator Developer Student Club
  • 23. Some Awesome Tutorials Developer Student Club https://developers.google.com/web/ilt/pwa/
  • 24. Need Support??? Feel Free to connect with me. singhsugga96@gmail.com | dsclpu@gmail.com facebook.com/surajsugga linkedin.com/in/surajsuggasingh/ HAPPY LEARNING Developer Student Club