SlideShare a Scribd company logo
1 of 51
Download to read offline
Progressive Web Apps
GDG DevFest / Season 2016
1
omranic.com
Abdelrahman Omran
Rinvex Co-founder | Google Developer Expert | Software Architect
2
Work hard until you no longer have to
introduce yourself.“
”
omranic.com
Rinvex
Industry Specific Enterprise Solutions
3
Value, Reach, Impact
rinvex.com
omranic.com
We’re about to start an exciting tour together, so get your
mind clear and ready for the journey.
Our Goals
We will understand, and build together a progressive web app, now!
4
Build / 2 steps
Follow the step-by-step codelab,
use the provided materials,
and build your first PWA
Get Ready
Awesome things coming your way, you’ll learn new
things, and get new skills, let’s have fun together!
Awesomeness Inside
Launch / 1 step
Deploy your first PWA online
using Firebase cloud hosting
and share it with others
Understand / 2 steps
What’s Progressive Web Apps,
Why it’s important now, and
How to use it effectively
omranic.com
Our Agenda
You should be excited about what’s coming!
5
PWA
Introduction
Service Worker
Introduction
Setup
Environment
Quick
Deployment
Codelab
Step-by-step
omranic.com
Your tweet, facebook, or G+ post must contain the following
hashtags #ProgressiveWebApps #DevFest16
Activity Announcement
Twitter/FB/G+ livestream what’s happening, you may win a special SWAG!
6
1
2
3
4
You must mention GDG chapter’s twitter account, Facebook
page, or Google plus page
Write something new you’ve learned, a new or exciting
feature, add emoji and post photos
Mention the speaker, re-share and re-tweet others, and keep
posting all day!
omranic.com
Follow the instructor step-by-step from start to end, and
implement all features explained
Activity Announcement #2
Follow the codelab, and deploy online during the session & win a special SWAG!
7
1
2
3
4
Be honest & follow the steps, don’t jump to conclusion, the
main goal here is to learn while having fun
Deploy your demo online using Firebase cloud hosting, and
try to access it through your mobile
Finally, show your working online demo to the instructor, it
must be fully functional with offline support ✨
PWA Introduction
What’s Progressive Web Apps and why it’s important?
omranic.com
Progressive Web Apps are experiences that combine the best of the web and the best of apps.
They are useful to users from the very first visit in a browser tab, no install required. As the user
progressively builds a relationship with the app over time, it becomes more and more powerful. It
loads quickly, even on flaky networks, sends relevant push notifications, has an icon on the home
screen, and loads as a top-level, full screen experience.
What’s Progressive Web Apps 9
PWA in a nutshell
Google's Progressive Web Apps are blurring
the lines between apps and the mobile web.“
”― Business Insider
omranic.com
PWA Characteristics
Key features of PWA
10
Progressive
enhancement
used throughout
Progressive
Easily discovered
by search engines
Discoverable
It’s the web,
linkable by
definition
Linkable
UI fits device’s
form factor and
screen size
Responsive
Looks & interacts
like a native app
App-like
omranic.com
PWA Characteristics
Key features of PWA
11
Offline-first & cache
support via service
workers
Connectivity
Independent
Engage users through
push notifications
Re-engageable
Install to device’s
home screen, run
in fullscreen
Installable
Always get newest
data from server
Fresh
Always served
over HTTPS
Secure
omranic.com
PWA Characteristics
Key features of PWA
12
Zero steps barrier,
Just Use It!
Low Friction
Uses web technologies,
HTML, JavaScript,
and CSS
Just Web
Smooth navigations
keep the experience
silky smooth
Fast
With service workers
at the heart
Instant Loading
Many PWA features
still in labs, yet to
come
Shiny Future
omranic.com
Some Facts
Industry Analysis
13
A study has shown that, on average, an app loses 20% of its users
for every step between the user’s first contact with the app and the
user starting to use the app.
Usage Friction
Roughly 80 percent of smartphone app time is spent with users’ top
three apps, notwithstanding the fact that people typically engage
with 25 apps per month, while 100+ sites navigated to.
Usage Frequency
Web apps will generally be easier to deploy and maintain (there’s
always one source of truth), compared to the massive version
fragmentation of native apps on platforms like Android.
Version Fragmentation
Service Worker Introduction
At the core of Progressive Web Apps comes Service Workers
omranic.com
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. Today, they already
include features like push notifications and background sync. In the future service workers will
support other things like periodic sync or geofencing. The core features discussed here is the ability
to intercept and handle network requests, including programmatically managing a cache of
responses.
What’s a Service Worker 15
SW in a nutshell
In short, a service worker is an asynchronous
background thread that takes control of all
network requests in a page, acting as a proxy.
“
”― Booking Blog
omranic.com
Service Worker Lifecycle
Events: Install, Activate, Fetch
16
omranic.com
Service Worker Lifecycle
Service Worker Install Event
17
omranic.com
Service Worker Lifecycle
Service Worker Install Event
18
omranic.com
Service Worker as a Proxy
Service Worker Request Interception
19
omranic.com
Service Worker Fetch Modes
Cache Only
20
omranic.com
Service Worker Fetch Modes
Network Only
21
omranic.com
Service Worker Fetch Modes
Cache, Falling Back To Network
22
omranic.com
Service Worker Fetch Modes
Network, Falling Back To Cache
23
omranic.com
Service Worker Fetch Modes
Stale While Revalidate
24
omranic.com
Service Worker Fetch Modes
Cache Then Network
25
omranic.com
Service Worker Fetch Modes
Cache & Network Race
26
omranic.com
Service Worker Fetch Modes
Generic Fallback
27
omranic.com
Service Worker Push Message
SW Push Notification Flow
28
omranic.com
Service Worker Notes
Important point you must know
29
Works on HTTPS only, or localhost1
2
3
4
Has controlled scopes
Should be on same origin
Not supported in Firefox, private mode
Only One SW activated at a time5
6
7
8
Shipped in Chrome, Firefox, and Opera
In Development in Microsoft Edge
Under Consideration in Safari, iOS
Should be progressive9
10
11
12
Doesn’t control origin page on first load
Run on background, in a separate thread
Doesn’t have access to page DOM
Open tabs must be closed for old service workers
to die, and new workers take effect13
14
15
16
Use self.skipWaiting() with self.clients.claim()
to skip waiting, and enforce the new SW
Unregistering a SW doesn’t clear SW cache
...
Questions?
Do you’ve any question
30
31
Abdelrahman Omran
THANK
YOU
Twitter: Omranic
Mobile: +201228160181
Email: me@omranic.com
Website: https://omranic.com
Setup Environment
Get ready for the journey, prepare your environment
omranic.com
Alongside NodeJs, npm is
required for the deployment
step as well
This codelab is focused on Progressive Web Apps.
Non-relevant concepts and code blocks are glossed over and are provided for you to simply copy and paste.
Prerequisites
What you'll need
34
Power on your laptop, and
login to your account
Laptop
Download code samples
from the provided Github
repository
Code Samples
Latest version of Google
Chrome browser is
recommended
Chrome 52+
Any text editor will be
sufficient, don’t use word
processors
Text Editor
Recommended but your
own web server of choice
will be OK
Web Server For Chrome
Basic Knowledge
Notes
Basic knowledge of HTML,
CSS, JavaScript, and Chrome
DevTools
You’ll need a Google
account to create a new
Firebase Project
Google Account
Internet Connection
Appropriate internet
connection required for
testing & deployment
NodeJs is required for the
deployment step, where
you’ll install firebase cli tools
NodeJS
npm
omranic.com
Weather Web App
Using PWA techniques
35
- Progressive - App-like - Fresh
- Responsive - Linkable - Safe
- Connectivity independent - Discoverable and installable
Features
What you'll learn
- How to design and construct an app using the "app shell" method
- How to make your app work offline
- How to store data for use offline later
Basic Knowledge
HTML, CSS, JavaScript, and Chrome DevTools
This codelab is focused on Progressive Web Apps. Non-relevant concepts and
code blocks are glossed over and are provided for you to simply copy and paste.
omranic.com
Codelab
Based on Google’s Codelab
36
goo.gl/AVsL6p
omranic.com
Setup
1. Download Source Code
37
goo.gl/kTLicS
omranic.com
Setup
2. Install web server
38
goo.gl/Jd8IAC
omranic.com
Setup
3. Run web server
39
1
2
3
4
5
omranic.com
Setup
4. Test the ready environment
40
Browse to your new PWA using Chrome Web Server via your localhost link
http://127.0.0.1:8887
Visit your app localy
You can access your app on the local network
You can browse your new PWA using Chrome Web Server over the local
network via this link
http://192.168.1.2:8887
Ready to go
This is a minimal PWA placeholder ready for development!
omranic.com
Architect your App Shell
What is the app shell?
41
omranic.com
Architect your App Shell
Design the App Shell
42
Ask yourself
- What needs to be on screen
immediately?
- What other UI components are
key to our app?
- What supporting resources are
needed for the app shell? For
example images, JavaScript,
styles, etc.
Our Weather App Components
- Header with a title, and
add/refresh buttons
- Container for forecast cards
- A forecast card template
- A dialog box for adding new cities
- A loading indicator
Quick Project Code Review
Let’s review the basic PWA we’ll work on
Codelab: 1. Start with a fast first load
goo.gl/JSwvvn
Codelab: 2. Pre-cache the App Shell
goo.gl/2CizGK
Codelab: 3. Cache the forecast data
goo.gl/uly6OD
Codelab: 4. Native integration & Deployment
goo.gl/u9u6xM
48
Abdelrahman Omran
THANK
YOU
Twitter: Omranic
Mobile: +201228160181
Email: me@omranic.com
Website: https://omranic.com
omranic.com
Credits 50
Microsoft® and PowerPoint® are trademarks
or registered trademarks of Microsoft
Corporation.
© 2016 Google Inc, used with permission.
Google and the Google logo are registered
trademarks of Google Inc.
Google Drive® is a registered trademark of
Google Inc.
Photos in this template were downloaded from
pixabay.com and freepik.com. Attribution is
located in each slide notes and the Credits
slide.
The Template provides a theme with four basic
colors:
The backgrounds were created by Free Google
Slides Templates.
Vectorial Shapes in this Template were created
by Free Google Slides Templates and
downloaded from pexels.com and
unsplash.com.
Icons in this Template are part of Google®
Material Icons and 1001freedownloads.com.
Shapes & Icons Backgrounds Images
Fonts Color Palette Trademarks
The fonts used in this template are taken from
Google fonts. ( Dosis,Open Sans )
You can download the fonts from the following
url: https://www.google.com/fonts/
#93c47dff #0097a7ff
#78909cff #eeeeeeff
#f7b600ff #00ce00e3
#de445eff #000000ff
51

More Related Content

What's hot

Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)Sandip Nirmal
 
Pwa demystified
Pwa demystifiedPwa demystified
Pwa demystifiededynamic
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web appsAkshay Sharma
 
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
 
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 BusinessLets Grow Business
 
Progressive Web Applications
Progressive Web ApplicationsProgressive Web Applications
Progressive Web ApplicationsBartek Igielski
 
Building a Progressive Web App
Building a  Progressive Web AppBuilding a  Progressive Web App
Building a Progressive Web AppIdo Green
 
Introduction of Progressive Web App
Introduction of Progressive Web AppIntroduction of Progressive Web App
Introduction of Progressive Web AppSankalp Khandelwal
 
Progressive Web APP ( PWA )
Progressive Web APP ( PWA ) Progressive Web APP ( PWA )
Progressive Web APP ( PWA ) Bijaya Oli
 
Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...
Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...
Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...Aleyda Solís
 
Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)Randal Schwartz
 
NATIVE VS PWA APPS – A COMPLETE GUIDE
NATIVE VS PWA APPS – A COMPLETE GUIDENATIVE VS PWA APPS – A COMPLETE GUIDE
NATIVE VS PWA APPS – A COMPLETE GUIDETekRevol LLC
 
Cross-Browser-Testing with Protractor & Browserstack
Cross-Browser-Testing with Protractor & BrowserstackCross-Browser-Testing with Protractor & Browserstack
Cross-Browser-Testing with Protractor & BrowserstackLeo Lindhorst
 

What's hot (20)

Progressive web app
Progressive web appProgressive web app
Progressive web app
 
Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)
 
Pwa demystified
Pwa demystifiedPwa demystified
Pwa demystified
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)
 
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
 
Progressive Web Applications
Progressive Web ApplicationsProgressive Web Applications
Progressive Web Applications
 
Building a Progressive Web App
Building a  Progressive Web AppBuilding a  Progressive Web App
Building a Progressive Web App
 
Progressive Web Apps(PWA)
Progressive Web Apps(PWA)Progressive Web Apps(PWA)
Progressive Web Apps(PWA)
 
Introduction of Progressive Web App
Introduction of Progressive Web AppIntroduction of Progressive Web App
Introduction of Progressive Web App
 
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 Apps are here!
Progressive Web Apps are here!Progressive Web Apps are here!
Progressive Web Apps are here!
 
PWA
PWAPWA
PWA
 
Angular PWA
Angular PWAAngular PWA
Angular PWA
 
Intern presentation based on Flutter Lawyer App.
Intern presentation based on Flutter Lawyer App.  Intern presentation based on Flutter Lawyer App.
Intern presentation based on Flutter Lawyer App.
 
Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...
Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...
Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...
 
Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)
 
NATIVE VS PWA APPS – A COMPLETE GUIDE
NATIVE VS PWA APPS – A COMPLETE GUIDENATIVE VS PWA APPS – A COMPLETE GUIDE
NATIVE VS PWA APPS – A COMPLETE GUIDE
 
Cross-Browser-Testing with Protractor & Browserstack
Cross-Browser-Testing with Protractor & BrowserstackCross-Browser-Testing with Protractor & Browserstack
Cross-Browser-Testing with Protractor & Browserstack
 

Viewers also liked

What's New in JHipsterLand - Devoxx Poland 2017
What's New in JHipsterLand - Devoxx Poland 2017What's New in JHipsterLand - Devoxx Poland 2017
What's New in JHipsterLand - Devoxx Poland 2017Matt Raible
 
Swift -Helyzetjelentés az iOS programozás új nyelvéről
Swift -Helyzetjelentés az iOS programozás új nyelvérőlSwift -Helyzetjelentés az iOS programozás új nyelvéről
Swift -Helyzetjelentés az iOS programozás új nyelvérőlBalaBit
 
10 tips to become an awesome Technical Lead v2 (Devoxx PL)
10 tips to become an awesome Technical Lead v2 (Devoxx PL)10 tips to become an awesome Technical Lead v2 (Devoxx PL)
10 tips to become an awesome Technical Lead v2 (Devoxx PL)Bart Blommaerts
 
Linux Kernel – Hogyan csapjunk bele?
Linux Kernel – Hogyan csapjunk bele?Linux Kernel – Hogyan csapjunk bele?
Linux Kernel – Hogyan csapjunk bele?BalaBit
 
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"Daniel Bryant
 
DATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkel
DATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkelDATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkel
DATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkelBalaBit
 
Big Data Science - hype?
Big Data Science - hype?Big Data Science - hype?
Big Data Science - hype?BalaBit
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and YouBalaBit
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipsterJulien Dubois
 

Viewers also liked (10)

What's New in JHipsterLand - Devoxx Poland 2017
What's New in JHipsterLand - Devoxx Poland 2017What's New in JHipsterLand - Devoxx Poland 2017
What's New in JHipsterLand - Devoxx Poland 2017
 
Swift -Helyzetjelentés az iOS programozás új nyelvéről
Swift -Helyzetjelentés az iOS programozás új nyelvérőlSwift -Helyzetjelentés az iOS programozás új nyelvéről
Swift -Helyzetjelentés az iOS programozás új nyelvéről
 
10 tips to become an awesome Technical Lead v2 (Devoxx PL)
10 tips to become an awesome Technical Lead v2 (Devoxx PL)10 tips to become an awesome Technical Lead v2 (Devoxx PL)
10 tips to become an awesome Technical Lead v2 (Devoxx PL)
 
Linux Kernel – Hogyan csapjunk bele?
Linux Kernel – Hogyan csapjunk bele?Linux Kernel – Hogyan csapjunk bele?
Linux Kernel – Hogyan csapjunk bele?
 
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
 
DATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkel
DATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkelDATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkel
DATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkel
 
Big Data Science - hype?
Big Data Science - hype?Big Data Science - hype?
Big Data Science - hype?
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
 
CDI 2.0 is upon us Devoxx
CDI 2.0 is upon us DevoxxCDI 2.0 is upon us Devoxx
CDI 2.0 is upon us Devoxx
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
 

Similar to Progressive Web Apps / GDG DevFest - Season 2016

Progressive web application
Progressive web applicationProgressive web application
Progressive web applicationRavikantGautam8
 
PWA basics for developers
PWA basics for developersPWA basics for developers
PWA basics for developersFilip Rakowski
 
Progressive web app testing
Progressive web app testingProgressive web app testing
Progressive web app testingKalhan Liyanage
 
Progressive Web Apps - Up & Running
Progressive Web Apps - Up & RunningProgressive Web Apps - Up & Running
Progressive Web Apps - Up & RunningSuraj Kumar
 
Web application development full & detailed guide for 2022
Web application development  full & detailed guide for 2022Web application development  full & detailed guide for 2022
Web application development full & detailed guide for 2022Metricoid Technology
 
9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Development9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Developmentcodecraftcrew
 
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
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxchitrachauhan21
 
Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023ZimbleCodeAustralia
 
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.pptAsad Majeed
 
[Webinar] Expanding future mobile commerce with Magento PWA Studio
[Webinar] Expanding future mobile commerce with Magento PWA Studio[Webinar] Expanding future mobile commerce with Magento PWA Studio
[Webinar] Expanding future mobile commerce with Magento PWA StudioCedCommerce
 
Meet.js Summit 2019 - PWA in practice
Meet.js Summit 2019 - PWA in practiceMeet.js Summit 2019 - PWA in practice
Meet.js Summit 2019 - PWA in practiceŁukasz Romanowicz
 
Basic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web AppsBasic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web AppsAnjaliTanpure1
 
PWA for PHP Developers
PWA for PHP DevelopersPWA for PHP Developers
PWA for PHP DevelopersBen Marks
 
web development ppt by prakash bedage
web development ppt by prakash bedageweb development ppt by prakash bedage
web development ppt by prakash bedagePrakashBedage
 
web development project prakash.pptx
web development project prakash.pptxweb development project prakash.pptx
web development project prakash.pptxPrakashBedage
 
What Are Progressive Web Application Development
What Are Progressive Web Application DevelopmentWhat Are Progressive Web Application Development
What Are Progressive Web Application DevelopmentApp Verticals
 
Top 10 Best PWA Development Tools and Technologies to Use.pdf
Top 10 Best PWA Development Tools and Technologies to Use.pdfTop 10 Best PWA Development Tools and Technologies to Use.pdf
Top 10 Best PWA Development Tools and Technologies to Use.pdfGroovy Web
 

Similar to Progressive Web Apps / GDG DevFest - Season 2016 (20)

Progressive web application
Progressive web applicationProgressive web application
Progressive web application
 
PWA basics for developers
PWA basics for developersPWA basics for developers
PWA basics for developers
 
Progressive web app testing
Progressive web app testingProgressive web app testing
Progressive web app testing
 
Progressive Web Apps - Up & Running
Progressive Web Apps - Up & RunningProgressive Web Apps - Up & Running
Progressive Web Apps - Up & Running
 
Web application development full & detailed guide for 2022
Web application development  full & detailed guide for 2022Web application development  full & detailed guide for 2022
Web application development full & detailed guide for 2022
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Development9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Development
 
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...
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
 
Checklist for progressive web app development
Checklist for progressive web app developmentChecklist for progressive web app development
Checklist for progressive web app development
 
Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023
 
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
 
[Webinar] Expanding future mobile commerce with Magento PWA Studio
[Webinar] Expanding future mobile commerce with Magento PWA Studio[Webinar] Expanding future mobile commerce with Magento PWA Studio
[Webinar] Expanding future mobile commerce with Magento PWA Studio
 
Meet.js Summit 2019 - PWA in practice
Meet.js Summit 2019 - PWA in practiceMeet.js Summit 2019 - PWA in practice
Meet.js Summit 2019 - PWA in practice
 
Basic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web AppsBasic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web Apps
 
PWA for PHP Developers
PWA for PHP DevelopersPWA for PHP Developers
PWA for PHP Developers
 
web development ppt by prakash bedage
web development ppt by prakash bedageweb development ppt by prakash bedage
web development ppt by prakash bedage
 
web development project prakash.pptx
web development project prakash.pptxweb development project prakash.pptx
web development project prakash.pptx
 
What Are Progressive Web Application Development
What Are Progressive Web Application DevelopmentWhat Are Progressive Web Application Development
What Are Progressive Web Application Development
 
Top 10 Best PWA Development Tools and Technologies to Use.pdf
Top 10 Best PWA Development Tools and Technologies to Use.pdfTop 10 Best PWA Development Tools and Technologies to Use.pdf
Top 10 Best PWA Development Tools and Technologies to Use.pdf
 

More from Abdelrahman Omran

Building Conversational Experiences for Google Assistant '18
Building Conversational Experiences for Google Assistant '18Building Conversational Experiences for Google Assistant '18
Building Conversational Experiences for Google Assistant '18Abdelrahman Omran
 
Using Dialogflow to build actions for Google Assistant ‘18
Using Dialogflow to build actions for Google Assistant ‘18Using Dialogflow to build actions for Google Assistant ‘18
Using Dialogflow to build actions for Google Assistant ‘18Abdelrahman Omran
 
Make the most out of a conference - MENAIO Summit '18
Make the most out of a conference - MENAIO Summit '18Make the most out of a conference - MENAIO Summit '18
Make the most out of a conference - MENAIO Summit '18Abdelrahman Omran
 
All for one & one for all - MENAIO Summit '18
All for one & one for all - MENAIO Summit '18All for one & one for all - MENAIO Summit '18
All for one & one for all - MENAIO Summit '18Abdelrahman Omran
 
The Web Platform - State of the Union '17
The Web Platform - State of the Union '17The Web Platform - State of the Union '17
The Web Platform - State of the Union '17Abdelrahman Omran
 
Progressive Web Apps 1. keynote
Progressive Web Apps 1. keynoteProgressive Web Apps 1. keynote
Progressive Web Apps 1. keynoteAbdelrahman Omran
 
Building for google assistant
Building for google assistantBuilding for google assistant
Building for google assistantAbdelrahman Omran
 
How can you get started with machine learning?
How can you get started with machine learning?How can you get started with machine learning?
How can you get started with machine learning?Abdelrahman Omran
 
Laravel & google cloud platform do mix​!
Laravel & google cloud platform do mix​!Laravel & google cloud platform do mix​!
Laravel & google cloud platform do mix​!Abdelrahman Omran
 

More from Abdelrahman Omran (11)

State of the WEB ‘18
State of the WEB ‘18State of the WEB ‘18
State of the WEB ‘18
 
Building Conversational Experiences for Google Assistant '18
Building Conversational Experiences for Google Assistant '18Building Conversational Experiences for Google Assistant '18
Building Conversational Experiences for Google Assistant '18
 
Using Dialogflow to build actions for Google Assistant ‘18
Using Dialogflow to build actions for Google Assistant ‘18Using Dialogflow to build actions for Google Assistant ‘18
Using Dialogflow to build actions for Google Assistant ‘18
 
Make the most out of a conference - MENAIO Summit '18
Make the most out of a conference - MENAIO Summit '18Make the most out of a conference - MENAIO Summit '18
Make the most out of a conference - MENAIO Summit '18
 
All for one & one for all - MENAIO Summit '18
All for one & one for all - MENAIO Summit '18All for one & one for all - MENAIO Summit '18
All for one & one for all - MENAIO Summit '18
 
The Web Platform - State of the Union '17
The Web Platform - State of the Union '17The Web Platform - State of the Union '17
The Web Platform - State of the Union '17
 
Progressive Web Apps 1. keynote
Progressive Web Apps 1. keynoteProgressive Web Apps 1. keynote
Progressive Web Apps 1. keynote
 
Building for google assistant
Building for google assistantBuilding for google assistant
Building for google assistant
 
How can you get started with machine learning?
How can you get started with machine learning?How can you get started with machine learning?
How can you get started with machine learning?
 
Laravel & google cloud platform do mix​!
Laravel & google cloud platform do mix​!Laravel & google cloud platform do mix​!
Laravel & google cloud platform do mix​!
 
Google Green
Google GreenGoogle Green
Google Green
 

Recently uploaded

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
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...Martijn de Jong
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
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 DiscoveryTrustArc
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
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...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Recently uploaded (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
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
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
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...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Progressive Web Apps / GDG DevFest - Season 2016

  • 1. Progressive Web Apps GDG DevFest / Season 2016 1
  • 2. omranic.com Abdelrahman Omran Rinvex Co-founder | Google Developer Expert | Software Architect 2 Work hard until you no longer have to introduce yourself.“ ”
  • 3. omranic.com Rinvex Industry Specific Enterprise Solutions 3 Value, Reach, Impact rinvex.com
  • 4. omranic.com We’re about to start an exciting tour together, so get your mind clear and ready for the journey. Our Goals We will understand, and build together a progressive web app, now! 4 Build / 2 steps Follow the step-by-step codelab, use the provided materials, and build your first PWA Get Ready Awesome things coming your way, you’ll learn new things, and get new skills, let’s have fun together! Awesomeness Inside Launch / 1 step Deploy your first PWA online using Firebase cloud hosting and share it with others Understand / 2 steps What’s Progressive Web Apps, Why it’s important now, and How to use it effectively
  • 5. omranic.com Our Agenda You should be excited about what’s coming! 5 PWA Introduction Service Worker Introduction Setup Environment Quick Deployment Codelab Step-by-step
  • 6. omranic.com Your tweet, facebook, or G+ post must contain the following hashtags #ProgressiveWebApps #DevFest16 Activity Announcement Twitter/FB/G+ livestream what’s happening, you may win a special SWAG! 6 1 2 3 4 You must mention GDG chapter’s twitter account, Facebook page, or Google plus page Write something new you’ve learned, a new or exciting feature, add emoji and post photos Mention the speaker, re-share and re-tweet others, and keep posting all day!
  • 7. omranic.com Follow the instructor step-by-step from start to end, and implement all features explained Activity Announcement #2 Follow the codelab, and deploy online during the session & win a special SWAG! 7 1 2 3 4 Be honest & follow the steps, don’t jump to conclusion, the main goal here is to learn while having fun Deploy your demo online using Firebase cloud hosting, and try to access it through your mobile Finally, show your working online demo to the instructor, it must be fully functional with offline support ✨
  • 8. PWA Introduction What’s Progressive Web Apps and why it’s important?
  • 9. omranic.com Progressive Web Apps are experiences that combine the best of the web and the best of apps. They are useful to users from the very first visit in a browser tab, no install required. As the user progressively builds a relationship with the app over time, it becomes more and more powerful. It loads quickly, even on flaky networks, sends relevant push notifications, has an icon on the home screen, and loads as a top-level, full screen experience. What’s Progressive Web Apps 9 PWA in a nutshell Google's Progressive Web Apps are blurring the lines between apps and the mobile web.“ ”― Business Insider
  • 10. omranic.com PWA Characteristics Key features of PWA 10 Progressive enhancement used throughout Progressive Easily discovered by search engines Discoverable It’s the web, linkable by definition Linkable UI fits device’s form factor and screen size Responsive Looks & interacts like a native app App-like
  • 11. omranic.com PWA Characteristics Key features of PWA 11 Offline-first & cache support via service workers Connectivity Independent Engage users through push notifications Re-engageable Install to device’s home screen, run in fullscreen Installable Always get newest data from server Fresh Always served over HTTPS Secure
  • 12. omranic.com PWA Characteristics Key features of PWA 12 Zero steps barrier, Just Use It! Low Friction Uses web technologies, HTML, JavaScript, and CSS Just Web Smooth navigations keep the experience silky smooth Fast With service workers at the heart Instant Loading Many PWA features still in labs, yet to come Shiny Future
  • 13. omranic.com Some Facts Industry Analysis 13 A study has shown that, on average, an app loses 20% of its users for every step between the user’s first contact with the app and the user starting to use the app. Usage Friction Roughly 80 percent of smartphone app time is spent with users’ top three apps, notwithstanding the fact that people typically engage with 25 apps per month, while 100+ sites navigated to. Usage Frequency Web apps will generally be easier to deploy and maintain (there’s always one source of truth), compared to the massive version fragmentation of native apps on platforms like Android. Version Fragmentation
  • 14. Service Worker Introduction At the core of Progressive Web Apps comes Service Workers
  • 15. omranic.com 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. Today, they already include features like push notifications and background sync. In the future service workers will support other things like periodic sync or geofencing. The core features discussed here is the ability to intercept and handle network requests, including programmatically managing a cache of responses. What’s a Service Worker 15 SW in a nutshell In short, a service worker is an asynchronous background thread that takes control of all network requests in a page, acting as a proxy. “ ”― Booking Blog
  • 16. omranic.com Service Worker Lifecycle Events: Install, Activate, Fetch 16
  • 19. omranic.com Service Worker as a Proxy Service Worker Request Interception 19
  • 20. omranic.com Service Worker Fetch Modes Cache Only 20
  • 21. omranic.com Service Worker Fetch Modes Network Only 21
  • 22. omranic.com Service Worker Fetch Modes Cache, Falling Back To Network 22
  • 23. omranic.com Service Worker Fetch Modes Network, Falling Back To Cache 23
  • 24. omranic.com Service Worker Fetch Modes Stale While Revalidate 24
  • 25. omranic.com Service Worker Fetch Modes Cache Then Network 25
  • 26. omranic.com Service Worker Fetch Modes Cache & Network Race 26
  • 27. omranic.com Service Worker Fetch Modes Generic Fallback 27
  • 28. omranic.com Service Worker Push Message SW Push Notification Flow 28
  • 29. omranic.com Service Worker Notes Important point you must know 29 Works on HTTPS only, or localhost1 2 3 4 Has controlled scopes Should be on same origin Not supported in Firefox, private mode Only One SW activated at a time5 6 7 8 Shipped in Chrome, Firefox, and Opera In Development in Microsoft Edge Under Consideration in Safari, iOS Should be progressive9 10 11 12 Doesn’t control origin page on first load Run on background, in a separate thread Doesn’t have access to page DOM Open tabs must be closed for old service workers to die, and new workers take effect13 14 15 16 Use self.skipWaiting() with self.clients.claim() to skip waiting, and enforce the new SW Unregistering a SW doesn’t clear SW cache ...
  • 32. Twitter: Omranic Mobile: +201228160181 Email: me@omranic.com Website: https://omranic.com
  • 33. Setup Environment Get ready for the journey, prepare your environment
  • 34. omranic.com Alongside NodeJs, npm is required for the deployment step as well This codelab is focused on Progressive Web Apps. Non-relevant concepts and code blocks are glossed over and are provided for you to simply copy and paste. Prerequisites What you'll need 34 Power on your laptop, and login to your account Laptop Download code samples from the provided Github repository Code Samples Latest version of Google Chrome browser is recommended Chrome 52+ Any text editor will be sufficient, don’t use word processors Text Editor Recommended but your own web server of choice will be OK Web Server For Chrome Basic Knowledge Notes Basic knowledge of HTML, CSS, JavaScript, and Chrome DevTools You’ll need a Google account to create a new Firebase Project Google Account Internet Connection Appropriate internet connection required for testing & deployment NodeJs is required for the deployment step, where you’ll install firebase cli tools NodeJS npm
  • 35. omranic.com Weather Web App Using PWA techniques 35 - Progressive - App-like - Fresh - Responsive - Linkable - Safe - Connectivity independent - Discoverable and installable Features What you'll learn - How to design and construct an app using the "app shell" method - How to make your app work offline - How to store data for use offline later Basic Knowledge HTML, CSS, JavaScript, and Chrome DevTools This codelab is focused on Progressive Web Apps. Non-relevant concepts and code blocks are glossed over and are provided for you to simply copy and paste.
  • 36. omranic.com Codelab Based on Google’s Codelab 36 goo.gl/AVsL6p
  • 37. omranic.com Setup 1. Download Source Code 37 goo.gl/kTLicS
  • 38. omranic.com Setup 2. Install web server 38 goo.gl/Jd8IAC
  • 39. omranic.com Setup 3. Run web server 39 1 2 3 4 5
  • 40. omranic.com Setup 4. Test the ready environment 40 Browse to your new PWA using Chrome Web Server via your localhost link http://127.0.0.1:8887 Visit your app localy You can access your app on the local network You can browse your new PWA using Chrome Web Server over the local network via this link http://192.168.1.2:8887 Ready to go This is a minimal PWA placeholder ready for development!
  • 41. omranic.com Architect your App Shell What is the app shell? 41
  • 42. omranic.com Architect your App Shell Design the App Shell 42 Ask yourself - What needs to be on screen immediately? - What other UI components are key to our app? - What supporting resources are needed for the app shell? For example images, JavaScript, styles, etc. Our Weather App Components - Header with a title, and add/refresh buttons - Container for forecast cards - A forecast card template - A dialog box for adding new cities - A loading indicator
  • 43. Quick Project Code Review Let’s review the basic PWA we’ll work on
  • 44. Codelab: 1. Start with a fast first load goo.gl/JSwvvn
  • 45. Codelab: 2. Pre-cache the App Shell goo.gl/2CizGK
  • 46. Codelab: 3. Cache the forecast data goo.gl/uly6OD
  • 47. Codelab: 4. Native integration & Deployment goo.gl/u9u6xM
  • 49. Twitter: Omranic Mobile: +201228160181 Email: me@omranic.com Website: https://omranic.com
  • 50. omranic.com Credits 50 Microsoft® and PowerPoint® are trademarks or registered trademarks of Microsoft Corporation. © 2016 Google Inc, used with permission. Google and the Google logo are registered trademarks of Google Inc. Google Drive® is a registered trademark of Google Inc. Photos in this template were downloaded from pixabay.com and freepik.com. Attribution is located in each slide notes and the Credits slide. The Template provides a theme with four basic colors: The backgrounds were created by Free Google Slides Templates. Vectorial Shapes in this Template were created by Free Google Slides Templates and downloaded from pexels.com and unsplash.com. Icons in this Template are part of Google® Material Icons and 1001freedownloads.com. Shapes & Icons Backgrounds Images Fonts Color Palette Trademarks The fonts used in this template are taken from Google fonts. ( Dosis,Open Sans ) You can download the fonts from the following url: https://www.google.com/fonts/ #93c47dff #0097a7ff #78909cff #eeeeeeff #f7b600ff #00ce00e3 #de445eff #000000ff
  • 51. 51