$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Progressive Web Apps
Search
Oscar Martin Cortez Martinez
December 15, 2018
Programming
0
48
Progressive Web Apps
Introduction to Progressive Web Apps - GDG Managua meetup 15 Dic. 2018
Oscar Martin Cortez Martinez
December 15, 2018
Tweet
Share
More Decks by Oscar Martin Cortez Martinez
See All by Oscar Martin Cortez Martinez
Python Packaging Without Pain
oscarmcm
0
190
Tools And Frameworks
oscarmcm
0
67
Web App Weekend - Firefox Apps
oscarmcm
0
47
RUBOTO
oscarmcm
1
92
Other Decks in Programming
See All in Programming
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
320
20 years of Symfony, what's next?
fabpot
2
350
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
7.1k
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
650
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
1k
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
2
220
How Software Deployment tools have changed in the past 20 years
geshan
0
29k
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
210
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
500
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.8k
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
420
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7.4k
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Music & Morning Musume
bryan
46
7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Optimizing for Happiness
mojombo
379
70k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Bash Introduction
62gerente
615
210k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Done Done
chrislema
186
16k
Code Review Best Practice
trishagee
74
19k
BBQ
matthewcrist
89
9.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
Transcript
PROGRESSIVE WEB APPS Oscar Cortez Dec 2018
¿QUE ES UNA PWA?
UN MOMENTO
PWA
APWA
AWPW
AMWP
AMP
AMP != PWA
None
KILLEDBYGOOGLE.COM
None
RECAPITULANDO
¿QUE ES UNA PWA?
LAS PROGRESSIVE WEB APPS SON EXPERIENCIAS QUE COMBINAN LO MEJOR
DE LA WEB Y LO MEJOR DE LAS APPS. Pete LePage PWA
None
UN SITIO QUE USA LAS TECNOLOGÍAS MODERNAS EN LOS NAVEGADORES
Y LAS MEJORES PRACTICAS PARA PROVEER UNA EXPERIENCIA RÁPIDA Y NATIVA. Zack Argyle PWA
UN SITIO QUE USA LAS TECNOLOGÍAS MODERNAS EN LOS NAVEGADORES
Y LAS MEJORES PRACTICAS PARA PROVEER UNA EXPERIENCIA RÁPIDA Y NATIVA. Zack Argyle PWA
DE CONFIANZA RAPIDAS ATRACTIVAS PWA es…
TECNOLOGIAS USADAS
•HTTPS •W3C MANIFEST •SERVICE WORKER •CACHE
HTTPS
¯\_(ツ)_/¯
W3C MANIFEST
{ "name": "Donate App", "description": "This app helps you donate
to worthy causes.", "icons": [{ "src": "images/icon.png", "sizes": "192x192" }] }
<!DOCTYPE html> <html> <head> <title>Racer 3K</title> <!-- Startup configuration -->
<link rel="manifest" href="manifest.webmanifest"> <!-- Fallback application metadata for legacy browsers --> <meta name="application-name" content="Racer3K"> <link rel="icon" sizes="16x16 32x32 48x48" href="lo_def.ico"> <link rel="icon" sizes="512x512" href="hi_def.png"> </head> <body> </body> </html>
SERVICE WORKERS
UN SERVICE WORKER ES UNA SECUENCIA DE COMANDOS QUE TU
NAVEGADOR EJECUTA EN SEGUNDO PLANO, SEPARADO DE UNA PÁGINA WEB. Matt Gaunt SW
if ('serviceWorker' in navigator) { window.addEventListener('load', function() { navigator.serviceWorker.register('/sw.js') .then(function(registration)
{ // Registration was successful console.log('ServiceWorker registration successful'); console.log('with scope: ', registration.scope); }).catch(function(err) { // registration failed :( console.log('ServiceWorker registration failed: ', err); }); }); }
CACHE
SÓLO HAY DOS COSAS DURAS EN CIENCIAS DE LA COMPUTACIÓN:
INVALIDAR UNA MEMORIA CACHÉ Y NOMBRAR LAS COSAS. Confusio :p CACHE
•CACHE ONLY •NETWORK ONLY •CACHE FALLING TO NETWORK OR VICE
VERSA •CACHE & NETWORK RACE •CACHE THEN NETWORK •GENERIC FALLBACK •YOUR CUSTOM WAY :P
COMO SE VE UNA PWA
POKEDEX.ORG
LAS 3R’S PARA INCREÍBLES PWA’S
REDUCE REUSE REVIEW
REDUCE REUSE REVIEW
A MEDIDA QUE CONSTRUIMOS SITIOS QUE DEPENDEN CADA VEZ MÁS
DE JAVASCRIPT, A VECES PAGAMOS POR LO QUE ENVIAMOS DE MANERAS QUE NO SIEMPRE VEMOS FÁCILMENTE. Addy Osmani REDUCE
REDUCE REUSE REVIEW
REUSE Service Worker Network Website Cache
REDUCE REUSE REVIEW
INDEPENDIENTEMENTE DE LAS HERRAMIENTAS QUE ELIJA SU EQUIPO, UN PRESUPUESTO
ES ESENCIAL. SIN UNO, INCLUSO LOS MÁS AVANZADOS, Y “LIGEROS" FRAMEWORKS PUEDEN CREAR FÁCILMENTE APLICACIONES INFLADAS E INUTILIZABLES. Alex Russel REVIEW
NO EXISTEN SITUACIONES HIPOTETICAS
LA FUERZA USAR DEBES
None
•APP-Shell: La arquitectura que usaras. •Browser Dev Tools: Tu navaja
suiza. •IndexedDB: Almacenamiento estructurado de datos. •WorkBox: Set de librerias para PWAs.
•Lighthouse: Auditar nuestras PWAs. •Google PWA Checklist: Lo que tienes
que considerar. •SSR: Compilar tu HTML en el servidor. •SW-Precache: Generador de Service-Workers.
None
=> RTFM <= HTTPS://WEB.DEV
GRACIAS POR SU ATENCIÓN! @oscar_mcm