SlideShare a Scribd company logo
Progressive Web Apps Dev Summit
Gbolahan Alli
July 23rd , 2016
● Service Worker
● Caching Strategies
● App Shell
● Manifest Files
● Codelabs
Agenda
What is a Progressive Web App ?
Experiences that combine the best of web with the best of
app and becomes useful to users from the very first visit in
a tab.
No Install Required
Key Characteristics of PWA
●Progressive - Works for every user regardless of
browser and users
●Responsive - Fits any form factor; desktop,mobile,tablet
etc
●Connectivity Independent - Enhanced with
Service Workers to Work Offline or on Lie-
Fi.

Recommended for you

Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App

Progressive Web Apps (PWAs) are user experiences that have the reach of the web and feel like native apps. They are reliable, fast, and engaging. Key aspects of PWAs include using HTTPS, an app shell model, service workers to enable offline support, and manifest files to allow adding the app to the home screen. The document provides an overview of core PWA concepts and technologies and how to evaluate if a web app qualifies as a PWA.

pwaprogressive web apps
Progressive web apps with Angular 2
Progressive web apps with Angular 2Progressive web apps with Angular 2
Progressive web apps with Angular 2

This document discusses building progressive web apps with Angular 2. It covers using service workers to enable offline functionality through caching, implementing an app shell architecture for immediate loading, and other features like background syncing and push notifications. The last section describes the Angular Mobile Toolkit for generating starter code and manifest files to help develop progressive web apps.

progressive web appsangular 2service worker
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps

This document discusses progressive web apps (PWAs), including what defines their usage, how they work, and their key characteristics. PWAs are defined as progressive, responsive, connectivity independent, app-like, fresh, safe, discoverable, re-engageable, installable, and linkable. Service workers play an important role in PWAs by running in the background, enabling features like caching and push notifications. For a user to add a PWA to their home screen requires an web app manifest, service worker, HTTPS connection, and visiting the web app twice within 5 minutes.

Key Characteristics of PWA - cont’d
●App Like - Feels like an app to the user because it’s built
on the app-shell model
●Re-engageable - Makes re-engagement easy through
features like push notifications.
●Installable - Allows user to ‘keep’ apps on
their homescreen without the hassle of an
app store.
Key Characteristics of PWA - cont’d
●Fresh - Always up to date courtesy of service worker
update process
●Safe - Served via HTTPS to prevent snooping and
ensure content isn’t tampered with.
Our Discussion - today
●Connectivity Independent
●App - like
●Installable
Connectivity Independent
What is a Service Worker ?
A script run by the browser in the background, separate from a
webpage, that opens the door to features which don’t need a web page
or user interaction
Read more : http://www.html5rocks.com/en/tutorials/service-worker/introduction/

Recommended for you

Progressive Web Apps For Startups
Progressive Web Apps For StartupsProgressive Web Apps For Startups
Progressive Web Apps For Startups

What are the ways that startups can leverage the benefits that progressive web apps allow these days? In this talk, I covered some of the startups best practices and how entrepreneurs can take advantage from the capabilities that PWAs give them.

web developmentstartupentrepreneurship
Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)

Progressive web apps (PWAs) are experiences that combine the best of the web and mobile apps. They load quickly, work offline, and feel like native mobile apps. The key aspects of PWAs include service workers for offline functionality, app shells for fast loading, and manifest files for home screen capabilities. PWAs use caching strategies and service workers to load from the cache first for offline access, then request updates from the network as needed. This provides a better user experience than online-first solutions which require network connectivity.

Pwa.pptx
Pwa.pptxPwa.pptx
Pwa.pptx

Progressive Web Apps (PWAs) provide an app-like user experience through the use of features like service workers, web app manifests, and push notifications. They load instantly, work offline, and can be installed on the home screen without an app store. Service workers act as a proxy to cache resources, enabling fast and reliable performance even in uncertain network conditions. PWAs are responsive across devices and browsers, and feel natural on each platform due to their immersive, app-like interfaces.

pwaprogressivewebappweb
Service Workers
Things to note
× Can’t access the DOM directly. Only way to communicate with pages
is through postMessage.
× Service worker can “hijack” network requests, giving you the
developer absolute control.
× Terminated when idle. Restarted needed.
× Persist data using IndexedDb or something similar1
× Service workers make extensive use of promises2
Read more : http://www.html5rocks.com/en/tutorials/service-worker/introduction/
, http://www.html5rocks.com/tutorials/es6/promises/
Service Workers - LifeCycle
Service Workers - Registering
( function() {
'use strict';
if (navigator.serviceWorker) {
//Registration Logic goes here
}
})();
Service Workers - Events
self.addEventListener(‘install’, function(reg) { // LOGIC GOES HERE
})
self.addEventListener(‘activate’, function(event) { //LOGIC GOES HERE
})
self.addEventListener(‘fetch’, function(event) {//LOGIC GOES HERE
})
self.addEventListener(‘message’, function(event) {
//LOGIC GOES HERE
})

Recommended for you

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...

The document discusses the current state and future of the web. It notes that while native apps have gained popularity, especially on mobile, the web still accounts for a large portion of usage. It outlines tools from Google like service workers, push notifications, and app install banners that aim to close capabilities gaps between the web and native apps. The document advocates for progressive web apps that are accessible like websites but also feel like native apps to users. The future of the web, it argues, depends on continuing to match and surpass native platforms while keeping the web open, accessible, and long-lasting.

Progressive Web Applications
Progressive Web ApplicationsProgressive Web Applications
Progressive Web Applications

This document discusses progressive web applications (PWAs), which aim to provide users with an app-like experience through the web. PWAs load quickly, work offline or on low-quality networks, feel native on devices, and are discoverable. The key aspects that define a PWA are HTTPS, a web app manifest, and a service worker. Case studies show that popular sites like AliExpress, Flipkart and Google I/O saw significant increases in user engagement and conversion through PWAs compared to regular web or native apps. Service workers allow caching assets, pushing notifications, and handling requests when offline to improve the user experience.

webweb2.0internet
From AMP to PWA
From AMP to PWAFrom AMP to PWA
From AMP to PWA

Let's focus on the Mobile Web and talk about the keys to a building a great mobile experience. From AMP (=Accelerated Mobile Pages) as a starting point up to PWA (=Progressive Web Apps). I will cover the steps through some of the key features we see as core to the modern web experience. As a bonus, we will close with new APIs that expending the web even farther.

web developmentamppwa
Installable - Manifest.json
● User can Add App to Homescreen
● Easy access to Web App from homescreen
● Add a Manifest.json file to your app’s directory
Read more : https://www.w3.org/TR/2016/WD-appmanifest-20160331/
Installable - Manifest.json
{
"short_name": "",
"name": "",
"icons": [ {
"src":"",
"sizes": "",
"type": ""
} ],
"start_url": "",
"background_color": "",
"theme_color": "",
"display": ""
}
Read more : https://www.w3.org/TR/2016/WD-appmanifest-20160331/
Caching Strategies - Responding to
request
Read More : https://jakearchibald.com/2014/offline-cookbook/
https://jakearchibald.com/2016/caching-best-practices/
● Cache Only
● Network Only
● Cache, falling back to Network
● Cache & Network Race
● Network, falling back to Cache
● Cache then network
CODELABS!!!
https://gbolly.github.io/gdgcodelab/

Recommended for you

Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps

Progressive Web Apps presentation for GDG Istanbul's Progressive Web Apps Meetup. I'm not a web developer or front-end developer but I tried to explain how PWAs work.

progressive web appspwamobile
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps

A Progressive Web App uses modern web capabilities to deliver an app-like user experience. Progressive Web Apps bring features we expect from native apps to the mobile browser experience in a way that uses standards-based technologies and run in a secure container accessible to anyone on the web.

progressive web appsjavascriptpwa
Offline-First Progressive Web Apps
Offline-First Progressive Web AppsOffline-First Progressive Web Apps
Offline-First Progressive Web Apps

Slides from my talk at Software Architecture Conf 2016, on the Offline First architecture of Flipkart Lite.

progressive web appflipkart liteoffline-first
Thanks!
Any questions?
You can find me at
× @purple_heart_me
× gbolahan@ibadan.gdg.ng
Credits
Special thanks to all the people who made and
released these awesome resources for free:
× Presentation template by SlidesCarnival
× Photographs by Unsplash
× The Offline CookBook by Jack Archibald
× Offline First - Interactive Course by Jack
Archibald and Udacity

More Related Content

What's hot

Progressive web app
Progressive web appProgressive web app
Progressive web app
Deepak Upadhyay
 
Getting Started with Progressive Web Apps
Getting Started with Progressive Web AppsGetting Started with Progressive Web Apps
Getting Started with Progressive Web Apps
Bill Stavroulakis
 
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 App
Progressive Web AppProgressive Web App
Progressive Web App
Vinci Rufus
 
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 Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Alexandre Tarifa
 
Progressive Web Apps For Startups
Progressive Web Apps For StartupsProgressive Web Apps For Startups
Progressive Web Apps For Startups
Ido Green
 
Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)
Zhentian Wan
 
Pwa.pptx
Pwa.pptxPwa.pptx
Pwa.pptx
Harish Karthick
 
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
 
Progressive Web Applications
Progressive Web ApplicationsProgressive Web Applications
Progressive Web Applications
Bartek Igielski
 
From AMP to PWA
From AMP to PWAFrom AMP to PWA
From AMP to PWA
Ido Green
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
R. Caner Yıldırım
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Nitheesh T Ganesh
 
Offline-First Progressive Web Apps
Offline-First Progressive Web AppsOffline-First Progressive Web Apps
Offline-First Progressive Web Apps
Aditya Punjani
 
Progressive Web-App (PWA)
Progressive Web-App (PWA)Progressive Web-App (PWA)
Progressive Web-App (PWA)
NexThoughts Technologies
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
Timmy Kokke
 
Progressive Web App (feat. React, Django)
Progressive Web App (feat. React, Django)Progressive Web App (feat. React, Django)
Progressive Web App (feat. React, Django)
Yurim Jin
 
PWA - Progressive Web App
PWA - Progressive Web AppPWA - Progressive Web App
PWA - Progressive Web App
Laravel Poland MeetUp
 
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
 

What's hot (20)

Progressive web app
Progressive web appProgressive web app
Progressive web app
 
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 / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016
 
Progressive Web App
Progressive Web AppProgressive Web App
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
 
Progressive Web Apps For Startups
Progressive Web Apps For StartupsProgressive Web Apps For Startups
Progressive Web Apps For Startups
 
Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)
 
Pwa.pptx
Pwa.pptxPwa.pptx
Pwa.pptx
 
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...
 
Progressive Web Applications
Progressive Web ApplicationsProgressive Web Applications
Progressive Web Applications
 
From AMP to PWA
From AMP to PWAFrom AMP to PWA
From AMP to PWA
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Offline-First Progressive Web Apps
Offline-First Progressive Web AppsOffline-First Progressive Web Apps
Offline-First Progressive Web Apps
 
Progressive Web-App (PWA)
Progressive Web-App (PWA)Progressive Web-App (PWA)
Progressive Web-App (PWA)
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Progressive Web App (feat. React, Django)
Progressive Web App (feat. React, Django)Progressive Web App (feat. React, Django)
Progressive Web App (feat. React, Django)
 
PWA - Progressive Web App
PWA - Progressive Web AppPWA - Progressive Web App
PWA - Progressive Web App
 
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
 

Similar to GDG Ibadan #pwa

Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Gbolahan Alli
 
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
 
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
 
Service workers
Service workersService workers
Service workers
Pavel Zhytko
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Software Infrastructure
 
Building Offline Ready and Installable Web App
Building Offline Ready and Installable Web AppBuilding Offline Ready and Installable Web App
Building Offline Ready and Installable Web App
Muhammad Samu
 
Service workers are your best friends
Service workers are your best friendsService workers are your best friends
Service workers are your best friends
Antonio Peric-Mazar
 
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
Robert Nyman
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Unfold UI
 
Mean stack Magics
Mean stack MagicsMean stack Magics
Mean stack Magics
Aishura Aishu
 
A year with progressive web apps! #DevConMU
A year with progressive web apps! #DevConMUA year with progressive web apps! #DevConMU
A year with progressive web apps! #DevConMU
Antonio Peric-Mazar
 
Progressive Web Apps 101
Progressive Web Apps 101Progressive Web Apps 101
Progressive Web Apps 101
Muhammad Samu
 
Service worker API
Service worker APIService worker API
Service worker API
Giorgio Natili
 
Google App Engine Overview - BarCamp Phnom Penh 2011
Google App Engine Overview - BarCamp Phnom Penh 2011Google App Engine Overview - BarCamp Phnom Penh 2011
Google App Engine Overview - BarCamp Phnom Penh 2011
traactivity
 
pwa-170717082930.pdf
pwa-170717082930.pdfpwa-170717082930.pdf
pwa-170717082930.pdf
GabrielaPonso1
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
Vlad Fedosov
 
Max Voloshin - "Organization of frontend development for products with micros...
Max Voloshin - "Organization of frontend development for products with micros...Max Voloshin - "Organization of frontend development for products with micros...
Max Voloshin - "Organization of frontend development for products with micros...
IT Event
 
Twelve Factor App With Lagom
Twelve Factor App With LagomTwelve Factor App With Lagom
Twelve Factor App With Lagom
Knoldus Inc.
 
Basic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web AppsBasic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web Apps
AnjaliTanpure1
 
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
 

Similar to GDG Ibadan #pwa (20)

Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
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...
 
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
 
Service workers
Service workersService workers
Service workers
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Building Offline Ready and Installable Web App
Building Offline Ready and Installable Web AppBuilding Offline Ready and Installable Web App
Building Offline Ready and Installable Web App
 
Service workers are your best friends
Service workers are your best friendsService workers are your best friends
Service workers are your best friends
 
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
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Mean stack Magics
Mean stack MagicsMean stack Magics
Mean stack Magics
 
A year with progressive web apps! #DevConMU
A year with progressive web apps! #DevConMUA year with progressive web apps! #DevConMU
A year with progressive web apps! #DevConMU
 
Progressive Web Apps 101
Progressive Web Apps 101Progressive Web Apps 101
Progressive Web Apps 101
 
Service worker API
Service worker APIService worker API
Service worker API
 
Google App Engine Overview - BarCamp Phnom Penh 2011
Google App Engine Overview - BarCamp Phnom Penh 2011Google App Engine Overview - BarCamp Phnom Penh 2011
Google App Engine Overview - BarCamp Phnom Penh 2011
 
pwa-170717082930.pdf
pwa-170717082930.pdfpwa-170717082930.pdf
pwa-170717082930.pdf
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
 
Max Voloshin - "Organization of frontend development for products with micros...
Max Voloshin - "Organization of frontend development for products with micros...Max Voloshin - "Organization of frontend development for products with micros...
Max Voloshin - "Organization of frontend development for products with micros...
 
Twelve Factor App With Lagom
Twelve Factor App With LagomTwelve Factor App With Lagom
Twelve Factor App With Lagom
 
Basic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web AppsBasic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web Apps
 
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
 

Recently uploaded

Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 

Recently uploaded (20)

Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 

GDG Ibadan #pwa

  • 1. Progressive Web Apps Dev Summit Gbolahan Alli July 23rd , 2016
  • 2. ● Service Worker ● Caching Strategies ● App Shell ● Manifest Files ● Codelabs Agenda
  • 3. What is a Progressive Web App ? Experiences that combine the best of web with the best of app and becomes useful to users from the very first visit in a tab. No Install Required
  • 4. Key Characteristics of PWA ●Progressive - Works for every user regardless of browser and users ●Responsive - Fits any form factor; desktop,mobile,tablet etc ●Connectivity Independent - Enhanced with Service Workers to Work Offline or on Lie- Fi.
  • 5. Key Characteristics of PWA - cont’d ●App Like - Feels like an app to the user because it’s built on the app-shell model ●Re-engageable - Makes re-engagement easy through features like push notifications. ●Installable - Allows user to ‘keep’ apps on their homescreen without the hassle of an app store.
  • 6. Key Characteristics of PWA - cont’d ●Fresh - Always up to date courtesy of service worker update process ●Safe - Served via HTTPS to prevent snooping and ensure content isn’t tampered with.
  • 7. Our Discussion - today ●Connectivity Independent ●App - like ●Installable
  • 8. Connectivity Independent What is a Service Worker ? A script run by the browser in the background, separate from a webpage, that opens the door to features which don’t need a web page or user interaction Read more : http://www.html5rocks.com/en/tutorials/service-worker/introduction/
  • 9. Service Workers Things to note × Can’t access the DOM directly. Only way to communicate with pages is through postMessage. × Service worker can “hijack” network requests, giving you the developer absolute control. × Terminated when idle. Restarted needed. × Persist data using IndexedDb or something similar1 × Service workers make extensive use of promises2 Read more : http://www.html5rocks.com/en/tutorials/service-worker/introduction/ , http://www.html5rocks.com/tutorials/es6/promises/
  • 10. Service Workers - LifeCycle
  • 11. Service Workers - Registering ( function() { 'use strict'; if (navigator.serviceWorker) { //Registration Logic goes here } })();
  • 12. Service Workers - Events self.addEventListener(‘install’, function(reg) { // LOGIC GOES HERE }) self.addEventListener(‘activate’, function(event) { //LOGIC GOES HERE }) self.addEventListener(‘fetch’, function(event) {//LOGIC GOES HERE }) self.addEventListener(‘message’, function(event) { //LOGIC GOES HERE })
  • 13. Installable - Manifest.json ● User can Add App to Homescreen ● Easy access to Web App from homescreen ● Add a Manifest.json file to your app’s directory Read more : https://www.w3.org/TR/2016/WD-appmanifest-20160331/
  • 14. Installable - Manifest.json { "short_name": "", "name": "", "icons": [ { "src":"", "sizes": "", "type": "" } ], "start_url": "", "background_color": "", "theme_color": "", "display": "" } Read more : https://www.w3.org/TR/2016/WD-appmanifest-20160331/
  • 15. Caching Strategies - Responding to request Read More : https://jakearchibald.com/2014/offline-cookbook/ https://jakearchibald.com/2016/caching-best-practices/ ● Cache Only ● Network Only ● Cache, falling back to Network ● Cache & Network Race ● Network, falling back to Cache ● Cache then network
  • 17. Thanks! Any questions? You can find me at × @purple_heart_me × gbolahan@ibadan.gdg.ng
  • 18. Credits Special thanks to all the people who made and released these awesome resources for free: × Presentation template by SlidesCarnival × Photographs by Unsplash × The Offline CookBook by Jack Archibald × Offline First - Interactive Course by Jack Archibald and Udacity