Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PWA beyond theory - How to create your progress...
Search
Amanda Vilela
December 01, 2018
Technology
0
76
PWA beyond theory - How to create your progressive web app
Presented on DevFest London 2018.
Amanda Vilela
December 01, 2018
Tweet
Share
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
94
Web Performance: Não deixe o usuário desistir do seu site
amandavilela
1
190
Como tornamos os sorteios da BrazilJS on the Road Sorocaba mais divertidos utilizando JS
amandavilela
0
71
Sobre Carreira e Comunidades
amandavilela
0
46
Crie seu Próprio Plano de Carreira
amandavilela
0
61
Como otimizar a performance da sua aplicação JS
amandavilela
0
100
Você nem sempre precisa de um framework JS
amandavilela
0
85
Que tal usar CSS em vez de JS?
amandavilela
1
110
Front-end: o que é, mercado e como começar
amandavilela
1
90
Other Decks in Technology
See All in Technology
ML PM Talk #1 - ML PMの分類に関する考察
lycorptech_jp
PRO
1
650
あなたの知らないDateのひみつ / The Secret of "Date" You Haven't known #tqrk16
expajp
0
120
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
12
4.3k
Ruby で作る大規模イベントネットワーク構築・運用支援システム TTDB
taketo1113
1
110
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
38k
最近のLinux普段づかいWaylandデスクトップ元年
penguin2716
1
560
Uncertainty in the LLM era - Science, more than scale
gaelvaroquaux
0
700
著者と読み解くAIエージェント現場導入の勘所 Lancers TechBook#2
smiyawaki0820
11
5.4k
Multimodal AI Driving Solutions to Societal Challenges
keio_smilab
PRO
1
130
Oracle Technology Night #95 GoldenGate 26ai の実装に迫る1
oracle4engineer
PRO
0
110
MS Ignite 2025で発表されたFoundry IQをRecap
satodayo
3
250
直接メモリアクセス
koba789
0
250
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Facilitating Awesome Meetings
lara
57
6.7k
Code Review Best Practice
trishagee
73
19k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Rails Girls Zürich Keynote
gr2m
95
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Music & Morning Musume
bryan
46
7k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
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