SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
Progressive Web Apps
¿Y eso con qué se come?
Diego Coy
Difundir conocimiento en tecnologías modernas
● Angular Colombia
● GDG Bogotá
● Facebook Developers Circle Bogotá
● WTM Bogotá
● Mentoría en tecnología para startups
@unJavaScripter
Gestor de comunidades | Desarrollador
Google Developer Expert && Microsoft MVP
diegocoy.com
Question Friendly Talk
Aprovechen que es gratis y pregunten todo lo que
quieran
⚠
“App-like experience”
Aplicaciones (sitios) web que en un dispositivo móvil
ofrecen una experiencia similar a la de una
aplicación nativa
Aplicaciones Nativas
☺ Fácil acceso (una vez instaladas)
☺ Contenido disponible siempre *
☺ Contacto (engagement/re engagement) con el usuario
☹ Métodos de distribución limitados (tiendas)
Instalación de una app
nativa
6
Interacciones
Métodos de distribución en
la web
Manual:
Enlace: Mi Aplicación web
Abrir el navegador
Algo me motivó a acceder a la
aplicación y debo entrar a su sitio web
usando el navegador de mi teléfono
Total de interacciones: 1
Escribir la
dirección web
(URL)
Escribo la URL de la aplicación web
que deseo visitar
Total de interacciones: 3
Esperar...
Espero a que se complete la carga de
la aplicación
Total de interacciones: 3
Disfrutar
En este momento ya puedo usar la
aplicación web
Total de
interacciones
3
App Web ☺
App Nativa ☹
Esta es la gran ventaja que tienen las aplicaciones
web en comparación a las aplicaciones nativas
La Web
● Abierta
● Escala global
● Cualquier dispositivo*
● Experiencia de uso compartido
● Accesible
* Con un navegador web
Responsiveness
Que el contenido se desparrame en la pantalla
Acceso desde
cualquier tamaño
Desde un teléfono, hasta lo que traiga
el futuro.
La aplicación debe ser funcional en
todos los casos.
Animación: Karol Podleśny
https://dribbble.com/shots/1277779-Morphing-devices-GIF
La seguridad ante todo
letsencrypt.org
PWA
● Fast
● Integrated
● Reliable
● Engaging
Progressive enhancement
El contenido es el núcleo de las aplicaciones, el
resto se agrega de a poquitos si se puede
Roscón
Toda app moderna puede
representarse en un roscón
Acceso directo en el
escritorio
Aplicaciones a un tap de distancia
Nos ganamos un espacio en el <3 y el
escritorio de nuestros usuarios
Web App install
banner
manifest.json
Lo referenciamos desde el archivo
index.html de nuestra aplicación:
<link rel="manifest"
href="manifest.json">
Pro tip: Agregar la propiedad “scope”
https://developers.google.com/web/fundamentals/web-app-manifest
Instalación manual desde
Chrome 68
https://developers.google.com/web/fundamentals/ap
p-install-banners/
Dinosaur mode!
La experiencia
Offline
Controlada por el navegador
Service Worker al rescate
Service Worker
¡Un proceso que siempre está activo y
que tiene muchos superpoderes!
● Offline
● App install
● Notificaciones push
* Sólo funciona si el sitio está siendo
cargado desde HTTPS
Service Worker
Registro
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-worker.js')
.then(function(registration) {
console.log('Registration successful');
})
.catch(function(error) {
console.log('Service worker registration failed:', error);
});
}
Service Worker
Fetch
Caching Files with Service Worker
https://developers.google.com/web/ilt/pwa/caching-files-with-service-worker
// El "handler" más básico para fetch
slef.addEventlistener('fetcn', event => {
event.respondWith(fetch(event.request));
});
// ...
// Devolviendo lo que se encuentre en cache
// Y si no hay, ahí sí mando la solicitud a Internet
self.addEventListener('fetch', event => {
event.respondWith(
caches.match(event.request).then(response => {
return response || fetch(event.request);
})
);
});
// ...
Demo
airhorner.com
Workbox
https://developers.google.com/web/tools/workbox/
PWA Toolkit
Ionic + Stencil
PWA Starter Kit
Web Components ~ Polymer
Notificaciones Push
Notification API
Push API
https://developers.google.com/web/fundamentals/push-notifications/display-a-notification
self.addEventListener('push', function(event) {
const title = 'Credit Card';
const options = {
body: event.data.text(),
icon: 'images/icon.png',
badge: 'images/badge.png'
};
event.waitUntil(self.registration.showNotification(title, options));
});
Chicanear time
Lighthouse
https://developers.google.com/web/too
ls/lighthouse/
Desktop/ chrome/ spotify
//...
Microsoft Store
Desktop PWAs
Chrome OS
Linux, Windows, MacOS en camino
https://developers.google.com/web/updates/2018/05/dpwa
https://jakearchibald.github.io/isserviceworkerready/
https://youtu.be/NITk4kXMQDw?t=6m37s
Links
● Chrome: Progressive Web Apps
● Caching Files with Service Worker
● Displaying a notification
The Web App Manifest
● Let’s Encrypt
● Lighthouse
● Workbox
● PWA Toolkit
● PWA Starter Kit
○ Repo
○ Charla (se van a enamorar)
● Progressive Web Apps in the Microsoft Store
● Desktop PWAs
● Is ServiceWorker Ready Yet?
Gente para seguir:
● Yutub
○ Chrome Developers
● Twister
○ @jaffathecake|
○ @DasSurma
○ @gauntface
○ @sw12
○ @petele
○ @paul_irish
○ @notwaldorf
○ @ChromeDevTools
○ @ChromiumDev
○ @____lighthouse
Que gracias
*Aplausos*

Mais conteúdo relacionado

Mais procurados

Presentación 17
Presentación 17Presentación 17
Presentación 17
arecerv
 
Wiki de herramientas y aplicaciones tic
Wiki de herramientas y aplicaciones ticWiki de herramientas y aplicaciones tic
Wiki de herramientas y aplicaciones tic
luismanuelgracia
 
Cómo llegar a los celulares y Tablets
Cómo llegar a los celulares y TabletsCómo llegar a los celulares y Tablets
Cómo llegar a los celulares y Tablets
clubdemarketing1
 

Mais procurados (16)

Corel paint shop
Corel paint shopCorel paint shop
Corel paint shop
 
Corel paint shop
Corel paint shopCorel paint shop
Corel paint shop
 
Corel paint shop
Corel paint shopCorel paint shop
Corel paint shop
 
Ventajas y desventajas de slideshare e issuu
Ventajas y desventajas de slideshare e  issuuVentajas y desventajas de slideshare e  issuu
Ventajas y desventajas de slideshare e issuu
 
Web Paint gamificación en entornos virtuales
Web Paint   gamificación en entornos virtualesWeb Paint   gamificación en entornos virtuales
Web Paint gamificación en entornos virtuales
 
"Beneficios de usar WordPress como CMS", por Joan Artés en #OpenExpoBCN
"Beneficios de usar WordPress como CMS", por Joan Artés en #OpenExpoBCN"Beneficios de usar WordPress como CMS", por Joan Artés en #OpenExpoBCN
"Beneficios de usar WordPress como CMS", por Joan Artés en #OpenExpoBCN
 
Google Chrome
Google Chrome Google Chrome
Google Chrome
 
Pruebas de usabilidad desde la mirada del testing - Pia Tobar
Pruebas de usabilidad desde la mirada del testing  - Pia TobarPruebas de usabilidad desde la mirada del testing  - Pia Tobar
Pruebas de usabilidad desde la mirada del testing - Pia Tobar
 
Presentación 17
Presentación 17Presentación 17
Presentación 17
 
Probar aplicaciones en dispositivos moviles - Pia Tobar
Probar aplicaciones en dispositivos moviles - Pia TobarProbar aplicaciones en dispositivos moviles - Pia Tobar
Probar aplicaciones en dispositivos moviles - Pia Tobar
 
Wiki de herramientas y aplicaciones tic
Wiki de herramientas y aplicaciones ticWiki de herramientas y aplicaciones tic
Wiki de herramientas y aplicaciones tic
 
Hangoutsficha1
Hangoutsficha1Hangoutsficha1
Hangoutsficha1
 
Presentacion mikogo 2
Presentacion mikogo 2Presentacion mikogo 2
Presentacion mikogo 2
 
Andromo
AndromoAndromo
Andromo
 
Jing Project
Jing ProjectJing Project
Jing Project
 
Cómo llegar a los celulares y Tablets
Cómo llegar a los celulares y TabletsCómo llegar a los celulares y Tablets
Cómo llegar a los celulares y Tablets
 

Semelhante a Globant development week / Progressive Web Apps

Congreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineCongreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engine
Nigeŗ Arce
 

Semelhante a Globant development week / Progressive Web Apps (20)

PhoneGap !Qué bueno que viniste¡
PhoneGap !Qué bueno que viniste¡PhoneGap !Qué bueno que viniste¡
PhoneGap !Qué bueno que viniste¡
 
PWA para eCommerce - Meet Magento Argentina 2017 - Summa Solutions
PWA para eCommerce - Meet Magento Argentina 2017 - Summa SolutionsPWA para eCommerce - Meet Magento Argentina 2017 - Summa Solutions
PWA para eCommerce - Meet Magento Argentina 2017 - Summa Solutions
 
Introducción al desarrollo de aplicaciones para dispositivos móviles
Introducción al desarrollo de aplicaciones para dispositivos móvilesIntroducción al desarrollo de aplicaciones para dispositivos móviles
Introducción al desarrollo de aplicaciones para dispositivos móviles
 
Appgeyser
AppgeyserAppgeyser
Appgeyser
 
Charla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + IonicCharla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + Ionic
 
10 apps
10 apps10 apps
10 apps
 
Introducción al desarrollo de aplicaciones móviles con Android enfocado a emp...
Introducción al desarrollo de aplicaciones móviles con Android enfocado a emp...Introducción al desarrollo de aplicaciones móviles con Android enfocado a emp...
Introducción al desarrollo de aplicaciones móviles con Android enfocado a emp...
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 
Resultados Geo Remind Me 2o Hackathon
Resultados Geo Remind Me 2o HackathonResultados Geo Remind Me 2o Hackathon
Resultados Geo Remind Me 2o Hackathon
 
Como crear una app móvil con WordPress + Ionic
Como crear una app móvil con WordPress + IonicComo crear una app móvil con WordPress + Ionic
Como crear una app móvil con WordPress + Ionic
 
Trabajo de ntics ii
Trabajo de ntics iiTrabajo de ntics ii
Trabajo de ntics ii
 
Trabajo de NTICS II
Trabajo de NTICS IITrabajo de NTICS II
Trabajo de NTICS II
 
Programando Windows Phone con Phonegap
Programando Windows Phone con PhonegapProgramando Windows Phone con Phonegap
Programando Windows Phone con Phonegap
 
Congreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineCongreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engine
 
Widgets
WidgetsWidgets
Widgets
 
Rpeorte 10
Rpeorte 10Rpeorte 10
Rpeorte 10
 
Tarea2App.docx
Tarea2App.docxTarea2App.docx
Tarea2App.docx
 
Apps para mejorar tus proyectos Web
Apps para mejorar tus proyectos WebApps para mejorar tus proyectos Web
Apps para mejorar tus proyectos Web
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 

Mais de Globant

Navegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financierosNavegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financieros
Globant
 

Mais de Globant (20)

Webinar MLOps: When AA gets serious.
Webinar MLOps: When AA gets serious.Webinar MLOps: When AA gets serious.
Webinar MLOps: When AA gets serious.
 
Google Cloud Spanner y NewSQL
Google Cloud Spanner y NewSQLGoogle Cloud Spanner y NewSQL
Google Cloud Spanner y NewSQL
 
Eventos Asíncronos como estrategia virtual
Eventos Asíncronos como estrategia virtualEventos Asíncronos como estrategia virtual
Eventos Asíncronos como estrategia virtual
 
Cultura y valores 4.0 para líderes 4.0
Cultura y valores 4.0 para líderes 4.0Cultura y valores 4.0 para líderes 4.0
Cultura y valores 4.0 para líderes 4.0
 
Tech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaTech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración Continua
 
Como impulsar tu carrera Salesforce
Como impulsar tu carrera SalesforceComo impulsar tu carrera Salesforce
Como impulsar tu carrera Salesforce
 
3D Programming Basics: WebGL
3D Programming Basics: WebGL3D Programming Basics: WebGL
3D Programming Basics: WebGL
 
Converge augmented report
Converge augmented reportConverge augmented report
Converge augmented report
 
Sistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta LakeSistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta Lake
 
Kubeflow: Machine Learning en Cloud para todos
Kubeflow: Machine Learning en Cloud para todosKubeflow: Machine Learning en Cloud para todos
Kubeflow: Machine Learning en Cloud para todos
 
Orquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS GlueOrquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS Glue
 
Apache Beam: Lote portátil y procesamiento de transmisión
Apache Beam: Lote portátil y procesamiento de transmisiónApache Beam: Lote portátil y procesamiento de transmisión
Apache Beam: Lote portátil y procesamiento de transmisión
 
Navegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financierosNavegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financieros
 
Converge 2020
Converge 2020 Converge 2020
Converge 2020
 
Converge 2020
Converge 2020Converge 2020
Converge 2020
 
Tendencias de tecnología para el recién egresado
Tendencias de tecnología para el recién egresadoTendencias de tecnología para el recién egresado
Tendencias de tecnología para el recién egresado
 
SRE: ¿Qué es y cómo gestionar el Toil?
SRE: ¿Qué es y cómo gestionar el Toil?SRE: ¿Qué es y cómo gestionar el Toil?
SRE: ¿Qué es y cómo gestionar el Toil?
 
Monitoreo en tiempo real para la mejora continua de una aplicación
Monitoreo en tiempo real para la mejora continua de una aplicaciónMonitoreo en tiempo real para la mejora continua de una aplicación
Monitoreo en tiempo real para la mejora continua de una aplicación
 
¿Cómo automatizar pruebas de infraestructura y no morir en el intento?
¿Cómo automatizar pruebas de infraestructura y no morir en el intento?¿Cómo automatizar pruebas de infraestructura y no morir en el intento?
¿Cómo automatizar pruebas de infraestructura y no morir en el intento?
 
Automatización en AWS con Chatbot Serverless (Amazon Lex)
Automatización en AWS con Chatbot Serverless (Amazon Lex)Automatización en AWS con Chatbot Serverless (Amazon Lex)
Automatización en AWS con Chatbot Serverless (Amazon Lex)
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (12)

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Globant development week / Progressive Web Apps