An introduction to Progressive Web Apps

An Introduction to
Progressive Web Apps
by Kevin Farrugia
Kevin Farrugia
Co-founder at Incredible Web
I am a software engineer with expertise in web technologies and a proud
advocate of Progressive Web Applications. I am motivated to share my
knowledge of PWAs with the aspiration to contribute in bringing the next 1
billion users online.
Who am I?
Author for Smashing Magazine https://www.smashingmagazine.com/2016/08/a-beginners-
guide-to-progressive-web-apps/
Author of Building Progressive Web Apps (May 2017, Packt Publishing)
“Progressive web apps are ordinary mobile-
friendly web applications that may be
progressively enhanced into native-like
applications through the modern browser.”
A Brief History
“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”
- Taken from Walter Isaacson’s biography of Steve Jobs
iPhone
June 2007
SDK (later to
become the
App Store) is
announced
Oct 2007
App Store
July 2008
More than two
million mobile
apps on the
AppStore
June 2016
Mobile Friendly Applications
At it’s core, a PWA is little more than an ordinary website; composed of HTML, CSS & JavaScript.
Source: Stack Overflow Developer Survey 2017
Native App Funnel
Source: http://blog.gaborcselle.com/2012/10/every-step-costs-you-20-of-users.html
“In a consumer mobile app, every step you make a user perform before they get value out of your app will cost you 20% of users.
Poor User Experience
Encouraging users to use the native app could seriously hinder the web user experience.
Progressive Enhancement
// how not to use JavaScript...
<a href="javascript:location.setUrl('/my-route')">My Route</a>
// ...don't do this either
<a href="#" onclick="location.setUrl('/my-route')">My Route</a>
A website must be built in a structured-layered approach, with rock-solid HTML & content and enhancements added to improve the
user’s experience.
Native Features
The most exciting aspect of a PWA is definitely the native-like user experience and features. A progressive web app is able to work
offline, receive push notifications and should be optimized to work flawlessly on mobile devices.
Properties of a PWA
Progressive
Responsive
Connectivity-independent
App-like
Fresh
Safe
Installable
Discoverable
Re-engageable
Linkable
App-Shell Model
The “app-shell” could be compared to the code you would publish to the app store if you were building a native app.
By correctly applying the app-shell architecture (together with service workers) you are able to achieve:
Improved Performance
Offline Support
Reduced Data Usage
Service Workers
A service worker is a script that your browser runs in the background, separate from a web page, opening the door to features that
don't need a web page or user interaction.
Requires HTTPS
Web Worker
Web Application Manifest
{
"lang": "en",
"dir": "ltr",
"name": "Super Racer 2000",
"description": "The ultimate futuristic racing game from the
future!",
"short_name": "Racer2K",
"icons": [{
"src": "icon/lowres.webp",
"sizes": "64x64",
"type": "image/webp"
},{
"src": "icon/lowres.png",
"sizes": "64x64"
}, {
"src": "icon/hd_hi",
"sizes": "128x128"
}],
"scope": "/racer/",
"start_url": "/racer/start.html",
"display": "fullscreen",
"orientation": "landscape",
"theme_color": "aliceblue",
"background_color": "red"
}
Let’s Code...
Conclusion
So, should I build a PWA or a native app?
PWA First
Build PWA First
Progressive web apps aim to combine the advantages of both, providing both a low friction of distribution and a host of features that
improve user-engagement; with FlipKart almost reaching native app engagement levels and tripling time-on-site with their progressive
web app.
Learn More
Source:
https://github.com/IncredibleWeb/MaltaJS
Technologies:
Push API
IndexedDB
Resources:
https://github.com/GoogleChrome/lighthouse
https://developers.google.com/web/fundamentals/getting-started/codelabs/your-first-pwapp/
https://developers.google.com/web/progressive-web-apps/checklist
incredible-web.com
Incredible Web Ltd.
Kevin Farrugia
kevin.farrugia@incredible-web.com
+356 99218499
Shaun Grech
shaun.grech@incredible-web.com
+356 79886164
1 sur 18

Recommandé

PWA - Progressive Web Apps par
PWA - Progressive Web AppsPWA - Progressive Web Apps
PWA - Progressive Web AppsEdy Segura
106 vues29 diapositives
Progressive web apps par
Progressive web appsProgressive web apps
Progressive web appsEzekiel Chentnik
495 vues26 diapositives
Progressive Web Apps par
Progressive Web AppsProgressive Web Apps
Progressive Web AppsOptis
649 vues46 diapositives
5 benefits of progressive web app development par
5 benefits of progressive web app development5 benefits of progressive web app development
5 benefits of progressive web app developmentFingent Corporation
92 vues12 diapositives
Getting Started with Progressive Web Apps par
Getting Started with Progressive Web AppsGetting Started with Progressive Web Apps
Getting Started with Progressive Web AppsBill Stavroulakis
454 vues51 diapositives
Progressive Web-App (PWA) par
Progressive Web-App (PWA)Progressive Web-App (PWA)
Progressive Web-App (PWA)NexThoughts Technologies
719 vues13 diapositives

Contenu connexe

Tendances

Progressive Web Apps / GDG DevFest - Season 2016 par
Progressive Web Apps / GDG DevFest - Season 2016Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016Abdelrahman Omran
1.7K vues51 diapositives
Progressive web apps par
Progressive web appsProgressive web apps
Progressive web appsR. Caner Yıldırım
7.5K vues15 diapositives
Progressive Web Apps par
Progressive Web AppsProgressive Web Apps
Progressive Web AppsNitheesh T Ganesh
875 vues31 diapositives
Pwa demystified par
Pwa demystifiedPwa demystified
Pwa demystifiededynamic
1.4K vues18 diapositives
Why your website should be a progressive web application (PWA) par
Why your website should be a progressive web application (PWA)  Why your website should be a progressive web application (PWA)
Why your website should be a progressive web application (PWA) DBS Interactive
94 vues14 diapositives
Guidance on how to develop a progressive web app using react native! par
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!Shelly Megan
86 vues11 diapositives

Tendances(20)

Progressive Web Apps / GDG DevFest - Season 2016 par Abdelrahman Omran
Progressive Web Apps / GDG DevFest - Season 2016Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016
Abdelrahman Omran1.7K vues
Pwa demystified par edynamic
Pwa demystifiedPwa demystified
Pwa demystified
edynamic1.4K vues
Why your website should be a progressive web application (PWA) par DBS Interactive
Why your website should be a progressive web application (PWA)  Why your website should be a progressive web application (PWA)
Why your website should be a progressive web application (PWA)
DBS Interactive94 vues
Guidance on how to develop a progressive web app using react native! par Shelly Megan
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!
Shelly Megan86 vues
Why Progressive Web App is what you need for your Business par Lets Grow 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 Business3.1K vues
From AMP to PWA par Ido Green
From AMP to PWAFrom AMP to PWA
From AMP to PWA
Ido Green12.1K vues
Introduction to Progressive Web App par Binh Bui
Introduction to Progressive Web AppIntroduction to Progressive Web App
Introduction to Progressive Web App
Binh Bui370 vues
Building a Progressive Web App par Ido Green
Building a  Progressive Web AppBuilding a  Progressive Web App
Building a Progressive Web App
Ido Green8.3K vues
Next Generation Mobile Web - PWA (Progressive Web App) par Nuri Cahyono
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 Cahyono320 vues
Progressive Web Apps For Startups par Ido Green
Progressive Web Apps For StartupsProgressive Web Apps For Startups
Progressive Web Apps For Startups
Ido Green2.2K vues
E-commerce Berlin Expo 2018 - From AMP to PWA: A Modern Web User Journey par E-Commerce Berlin EXPO
E-commerce Berlin Expo 2018 - From AMP to PWA: A Modern Web User JourneyE-commerce Berlin Expo 2018 - From AMP to PWA: A Modern Web User Journey
E-commerce Berlin Expo 2018 - From AMP to PWA: A Modern Web User Journey

Similaire à An introduction to Progressive Web Apps

Progressive Web Apps –The Future of Apps par
Progressive Web Apps –The Future of Apps   Progressive Web Apps –The Future of Apps
Progressive Web Apps –The Future of Apps Ashish Saxena
330 vues2 diapositives
Basic Understanding of Progressive Web Apps par
Basic Understanding of Progressive Web AppsBasic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web AppsAnjaliTanpure1
256 vues60 diapositives
Jws masterclass progressive web apps par
Jws masterclass progressive web appsJws masterclass progressive web apps
Jws masterclass progressive web appsAlexandre Marreiros
415 vues61 diapositives
Progressive Web App par
Progressive Web AppProgressive Web App
Progressive Web AppSaleh Rahimzadeh
218 vues23 diapositives
Progressive Web Apps par
Progressive Web AppsProgressive Web Apps
Progressive Web AppsTimmy Kokke
145 vues57 diapositives
Centric - PWA WebCast par
Centric - PWA WebCastCentric - PWA WebCast
Centric - PWA WebCastTimmy Kokke
1.1K vues58 diapositives

Similaire à An introduction to Progressive Web Apps(20)

Progressive Web Apps –The Future of Apps par Ashish Saxena
Progressive Web Apps –The Future of Apps   Progressive Web Apps –The Future of Apps
Progressive Web Apps –The Future of Apps
Ashish Saxena330 vues
Basic Understanding of Progressive Web Apps par AnjaliTanpure1
Basic Understanding of Progressive Web AppsBasic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web Apps
AnjaliTanpure1256 vues
Centric - PWA WebCast par Timmy Kokke
Centric - PWA WebCastCentric - PWA WebCast
Centric - PWA WebCast
Timmy Kokke1.1K vues
Go for Progressive Web Apps. Get a Better, Low Cost, Mobile Presence par Magic Software
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 Software26 vues
What Are Progressive Web Application Development par App Verticals
What Are Progressive Web Application DevelopmentWhat Are Progressive Web Application Development
What Are Progressive Web Application Development
App Verticals6 vues
IRJET-Garbage Monitoring and Management using Internet of things par IRJET Journal
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 Journal26 vues
presentation-131127230708-phpapp01.pdf par komailhaider7
presentation-131127230708-phpapp01.pdfpresentation-131127230708-phpapp01.pdf
presentation-131127230708-phpapp01.pdf
komailhaider75 vues
What are Progressive Web Apps & How Will They Impact The World of Web? par Rishabh Software
What are Progressive Web Apps & How Will They Impact The World of Web?What are Progressive Web Apps & How Will They Impact The World of Web?
What are Progressive Web Apps & How Will They Impact The World of Web?
The Case for Progressive Web Apps par Jason Grigsby
The Case for Progressive Web AppsThe Case for Progressive Web Apps
The Case for Progressive Web Apps
Jason Grigsby916 vues

Dernier

Future of Indian ConsumerTech par
Future of Indian ConsumerTechFuture of Indian ConsumerTech
Future of Indian ConsumerTechKapil Khandelwal (KK)
22 vues68 diapositives
Future of AR - Facebook Presentation par
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentationssuserb54b561
15 vues27 diapositives
PRODUCT PRESENTATION.pptx par
PRODUCT PRESENTATION.pptxPRODUCT PRESENTATION.pptx
PRODUCT PRESENTATION.pptxangelicacueva6
15 vues1 diapositive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive par
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveNetwork Automation Forum
34 vues35 diapositives
NET Conf 2023 Recap par
NET Conf 2023 RecapNET Conf 2023 Recap
NET Conf 2023 RecapLee Richardson
10 vues71 diapositives
Serverless computing with Google Cloud (2023-24) par
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)wesley chun
11 vues33 diapositives

Dernier(20)

Future of AR - Facebook Presentation par ssuserb54b561
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
ssuserb54b56115 vues
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive par Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Serverless computing with Google Cloud (2023-24) par wesley chun
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)
wesley chun11 vues
Data Integrity for Banking and Financial Services par Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely25 vues
"Running students' code in isolation. The hard way", Yurii Holiuk par Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays17 vues
Piloting & Scaling Successfully With Microsoft Viva par Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... par James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson92 vues
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors par sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab21 vues
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 par IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院

An introduction to Progressive Web Apps

  • 1. An Introduction to Progressive Web Apps by Kevin Farrugia
  • 2. Kevin Farrugia Co-founder at Incredible Web I am a software engineer with expertise in web technologies and a proud advocate of Progressive Web Applications. I am motivated to share my knowledge of PWAs with the aspiration to contribute in bringing the next 1 billion users online. Who am I? Author for Smashing Magazine https://www.smashingmagazine.com/2016/08/a-beginners- guide-to-progressive-web-apps/ Author of Building Progressive Web Apps (May 2017, Packt Publishing)
  • 3. “Progressive web apps are ordinary mobile- friendly web applications that may be progressively enhanced into native-like applications through the modern browser.”
  • 4. A Brief History “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” - Taken from Walter Isaacson’s biography of Steve Jobs iPhone June 2007 SDK (later to become the App Store) is announced Oct 2007 App Store July 2008 More than two million mobile apps on the AppStore June 2016
  • 5. Mobile Friendly Applications At it’s core, a PWA is little more than an ordinary website; composed of HTML, CSS & JavaScript. Source: Stack Overflow Developer Survey 2017
  • 6. Native App Funnel Source: http://blog.gaborcselle.com/2012/10/every-step-costs-you-20-of-users.html “In a consumer mobile app, every step you make a user perform before they get value out of your app will cost you 20% of users.
  • 7. Poor User Experience Encouraging users to use the native app could seriously hinder the web user experience.
  • 8. Progressive Enhancement // how not to use JavaScript... <a href="javascript:location.setUrl('/my-route')">My Route</a> // ...don't do this either <a href="#" onclick="location.setUrl('/my-route')">My Route</a> A website must be built in a structured-layered approach, with rock-solid HTML & content and enhancements added to improve the user’s experience.
  • 9. Native Features The most exciting aspect of a PWA is definitely the native-like user experience and features. A progressive web app is able to work offline, receive push notifications and should be optimized to work flawlessly on mobile devices.
  • 10. Properties of a PWA Progressive Responsive Connectivity-independent App-like Fresh Safe Installable Discoverable Re-engageable Linkable
  • 11. App-Shell Model The “app-shell” could be compared to the code you would publish to the app store if you were building a native app. By correctly applying the app-shell architecture (together with service workers) you are able to achieve: Improved Performance Offline Support Reduced Data Usage
  • 12. Service Workers A service worker is a script that your browser runs in the background, separate from a web page, opening the door to features that don't need a web page or user interaction. Requires HTTPS Web Worker
  • 13. Web Application Manifest { "lang": "en", "dir": "ltr", "name": "Super Racer 2000", "description": "The ultimate futuristic racing game from the future!", "short_name": "Racer2K", "icons": [{ "src": "icon/lowres.webp", "sizes": "64x64", "type": "image/webp" },{ "src": "icon/lowres.png", "sizes": "64x64" }, { "src": "icon/hd_hi", "sizes": "128x128" }], "scope": "/racer/", "start_url": "/racer/start.html", "display": "fullscreen", "orientation": "landscape", "theme_color": "aliceblue", "background_color": "red" }
  • 15. Conclusion So, should I build a PWA or a native app?
  • 16. PWA First Build PWA First Progressive web apps aim to combine the advantages of both, providing both a low friction of distribution and a host of features that improve user-engagement; with FlipKart almost reaching native app engagement levels and tripling time-on-site with their progressive web app.
  • 18. incredible-web.com Incredible Web Ltd. Kevin Farrugia kevin.farrugia@incredible-web.com +356 99218499 Shaun Grech shaun.grech@incredible-web.com +356 79886164