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
Progressive Web Apps
Search
Oscar Martin Cortez Martinez
December 15, 2018
Programming
52
0
Share
Progressive Web Apps
Introduction to Progressive Web Apps - GDG Managua meetup 15 Dic. 2018
Oscar Martin Cortez Martinez
December 15, 2018
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
69
Web App Weekend - Firefox Apps
oscarmcm
0
51
RUBOTO
oscarmcm
1
97
Other Decks in Programming
See All in Programming
Claspは野良GASの夢をみるか
takter00
0
150
初めてのRubyKaigiはこう見えた
jellyfish700
0
410
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
17
5.3k
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
4
440
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.5k
AIとRubyの静的型付け
ukin0k0
0
510
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
780
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
530
Oxcを導入して開発体験が向上した話
yug1224
4
270
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
3
1.2k
Lessons from Spec-Driven Development
simas
PRO
0
110
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
160
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.3k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
160
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
Paper Plane
katiecoart
PRO
1
51k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
The World Runs on Bad Software
bkeepers
PRO
72
12k
We Are The Robots
honzajavorek
0
240
Building Adaptive Systems
keathley
44
3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
200
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
200
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
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