Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PWA beyond theory - How to create your progress...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Amanda Vilela
December 01, 2018
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PWA beyond theory - How to create your progressive web app
Presented on DevFest London 2018.
Amanda Vilela
December 01, 2018
More Decks by Amanda Vilela
See All by Amanda Vilela
Construindo sua primeira página web: Sua porta de entrada para uma carreira de front-end
amandavilela
1
120
Web Performance: Não deixe o usuário desistir do seu site
amandavilela
1
210
Como tornamos os sorteios da BrazilJS on the Road Sorocaba mais divertidos utilizando JS
amandavilela
0
98
Sobre Carreira e Comunidades
amandavilela
0
70
Crie seu Próprio Plano de Carreira
amandavilela
0
76
Como otimizar a performance da sua aplicação JS
amandavilela
0
120
Você nem sempre precisa de um framework JS
amandavilela
0
100
Que tal usar CSS em vez de JS?
amandavilela
1
130
Front-end: o que é, mercado e como começar
amandavilela
1
110
Other Decks in Technology
See All in Technology
AWS Security Hub CSPMの成功・失敗体験
cmusudakeisuke
0
560
AIをフル活用してオンコール機能のプロトタイプを2日で作った話 / Building an AI-Powered On-Call Prototype in Just Two Days
nari_ex
0
130
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
320
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
200
AIチャット検索改善の3週間
kworkdev
PRO
2
180
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
170
時期が悪い!それでもRaspberry Piを買って遊んで活用するには / 20260627-osc26do-rpi-jikigawarui
akkiesoft
0
830
水を運ぶ人としてのリーダーシップ
izumii19
4
1k
Zenoh on Zephyr on LiteX
takasehideki
2
110
「勝手に広まる」人気 AI エージェントを爆速で作ろう!(AWS Summit Japan 2026講演資料)
minorun365
PRO
10
2.5k
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
0
330
週末にループ・エンジニアリングの理解を深めるためのスライド
nagatsu
0
310
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Git: the NoSQL Database
bkeepers
PRO
432
67k
The Curse of the Amulet
leimatthew05
2
13k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
470
Crafting Experiences
bethany
1
190
Everyday Curiosity
cassininazir
0
240
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
620
A Modern Web Designer's Workflow
chriscoyier
698
190k
Building the Perfect Custom Keyboard
takai
2
800
Designing Powerful Visuals for Engaging Learning
tmiket
1
430
Transcript
PWA BEYOND THEORY How to create your progressive web app
None
13% 87% Mobile web Apps Source: comScore Mobile Metrix, U.S.,
Age 18+, June 2015
80% of time is spent on 3 apps Source: comScore
Mobile Metrix, U.S., Age 18+, June 2015
ZERO number of apps the average user installs per month
Source: comScore Mobile Metrix, U.S., Age 18+, June 2015
New web features • Push Messages • Offline storage •
Audio & Video Capture • Recording Media • Geolocation • Web Bluetooth API • More: https://whatwebcando.today
None
WHAT IS A PWA? it's a website that behaves like
an app
WHAT IS A PWA? new level of caring about the
quality of your end-to-end user experience
Starbucks https://app.starbucks.com
The Washington Post https://www.washingtonpost.com/pwa
Twitter https://mobile.twitter.com
None
PWA aspects • Site works cross-browser • Pages are responsive
on tablets & mobile devices • First load fast even on 3G • All app URLs load while offline • Metadata provided for Add to Home screen • Site is served over HTTPS
✓ site works cross-browser
✓ responsive ✓ first load fast
✓ all app URLs load while offline
SERVICE WORKER advanced offline experiences
Web server
Service worker Client side proxy (wrote in JavaScript) Cache Web
server
SERVICE WORKER it's for the SECOND loading
implementing a Service Worker
None
registering a Service Worker
None
adding install event
None
preload resources
None
activate event
None
almost finishing
None
controlling the loading
None
None
None
cache strategy network, otherwise use the cache
the offline cookbook by Jake Archibald https://developers.google.com/web/fundamentals/instant-and-offline/offline-cookbook/
✓ add to home screen
<link rel="manifest" href="/manifest.json"> { "name": "Currency Converter", "short_name": "CConverter", "icons":
[{ "src": "icon-48x48.png", "sizes": "48x48", "type": "image/png" }, {...}], "start_url": "/index.html", "display": "standalone", "orientation": "portrait", "background_color": "#06f8c5", "theme_color": "#06f8c5" }
manifest.json { "name": "Currency Converter", "short_name": "CConverter", "icons": [{ "src":
"icon-48x48.png", "sizes": "48x48", "type": "image/png" }, {...}], "start_url": "/index.html", "display": "standalone", "orientation": "portrait", "background_color": "#06f8c5", "theme_color": "#06f8c5" }
manifest.json { "name": "Currency Converter", "short_name": "CConverter", "icons": [{ "src":
"icon-48x48.png", "sizes": "48x48", "type": "image/png" }, {...}], "start_url": "/index.html", "display": "standalone", "orientation": "portrait", "background_color": "#06f8c5", "theme_color": "#06f8c5" }
manifest.json { "name": "The Washington Post", "short_name": "Wash Post", "icons":
[{ "src": "icon-48x48.png", "sizes": "48x48", "type": "image/png" }, {...}], "start_url": "/index.html", "display": "standalone", "orientation": "portrait", "background_color": "#06f8c5", "theme_color": "#06f8c5" }
manifest.json { "name": "Currency Converter", "short_name": "CConverter", "icons": [{ "src":
"icon-48x48.png", "sizes": "48x48", "type": "image/png" }, {...}], "start_url": "/index.html", "display": "standalone", "orientation": "portrait", "background_color": "#06f8c5", "theme_color": "#06f8c5" }
✓ safe
keeping users safe is hugely important • Reliability: Is this
the site that the user expects? • Integrity: Has anyone changed this content? • Privacy: Can anyone monitor my navigation?
None
None
Let’s Encrypt is a trademark of the Internet Security Research
Group.
that's all :D
last considerations • Storage is not required • Easy to
share (conversion flow) • Always updated • Lower costs compared to native app development.
Lighthouse
use your creativity • https://developers.google.com/web/progressive-web-apps/checklist • https://whatwebcando.today
try it: http://bit.ly/pwacconverter
the code is available on github: https://github.com/amandavilela/currencyconverter
Obrigada! Amanda Vilela amandavilela.com