SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Introducción Service
Worker
Jorge Rubiano.
@ostjh
https://github.com/Jorger
Agenda.
● Progressive Web Apps.
● manifest.json.
● Service Worker.
○ offline first.
○ Push Notifications
Progressive Web Apps
● Las Aplicaciones Web Progresivas son experiencias
que combinan lo mejor de la Web y las Aplicaciones
Nativas.
● No requieren instalación. El usuario construye
progresivamente una relación con la aplicación a
través del tiempo, cada vez se convierte más y más
potentes.
● Cargan más rápido y envían notificaciones
relevantes.
● Proveen íconos en la Pantalla de Inicio y te
sumergen en modo Pantalla Completa.
https://developers.google.com/web/progressive-web-apps
https://operasoftware.github.io/pwa-list/
Progressive Web Apps
https://airhorner.com/
https://goo.gl/asmjUX
manifest.json
https://manifest-validator.appspot.com/
https://jorger.github.io/shoot/
manifest.json
https://youtu.be/isyEDFT4Lfk
manifest.json
Service Worker
● Los Service Workers son scripts que actúan como proxy del lado del
cliente.
● El código JavaScript puede interceptar las solicitudes de la red, crear un
caché granular basado en las necesidades únicas de la aplicación.
● Permite, entre otras cosas, la creación de experiencias sin conexión
(offline) que funcionan en su totalidad.
● Ya que los Service Workers corren en segundo Plano (background), se
abren muchas posibilidades para la web que antes solo estaban
disponibles en plataformas nativas (Push Notifications)
Características: Service Worker
● Scripts que se ejecutan “en segundo plano”,
independientemente de la página original
● fetch: se ha hecho una solicitud HTTP
● Son asíncronos
● Su API usa promesas
● No tienen acceso al DOM ni a la mayoría de
APIs síncronas (localStorage) , solo al resto
de APIs asíncronos
Cache API
Permite gestionar caches web de modo sencillo.
Asociado al API de Service Workers
● Crear una cache (caches.open)
● Añadir recursos a la cache (cache.addAll)
● Comprobar si una petición encaja con la cache
(caches.match)
● Es un API asíncrono, basado en promesas
Cache API
https://github.com/coonsta/cache-polyfill
App Cache
Antes de la aparición de Service Worker ya existía una tecnología que
permitía entregar una experiencia Offline, llamada App Cache.
http://www.html5rocks.com/tutorials/appcache/beginner/
App Cache
http://caniuse.com/#feat=offline-apps
Service Worker/App Cache
https://github.com/NekR/offline-plugin
Medium - Addy Osmani - Totally Tooling Tears
https://goo.gl/FpTqYa
Service Worker/App Cache
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/UKF8cK0EwMI
Medium - Addy Osmani - Totally Tooling Tears
https://goo.gl/FpTqYa
Localhost / https
Service Worker
http://www.html5rocks.com/en/tutorials/service-worker/introduction/
Service Worker
https://github.com/Jorger/shoot/blob/master/index.html#L26
Service Worker (install)
https://github.com/Jorger/shoot/blob/master/sw.js#L3
Service Worker (activate)
https://github.com/Jorger/shoot/blob/master/sw.js#L24
Service Worker (fetch)
https://github.com/Jorger/shoot/blob/master/sw.js#L28
Service Worker
https://jakearchibald.com/2014/offline-cookbook/#network-falling-back-to-cache
sw-toolbox
https://github.com/GoogleChrome/sw-toolbox/
Debugging SW
chrome://serviceworker-internals/
Debugging SW
Terminal tips & tricks, DevTools + Service Worker Updates - Addy Osmani
https://goo.gl/YEu8bH
DEMO
Service Worker / Push Notifications
Service Worker / Push Notifications
Desde hace tiempo las aplicaciones nativas pueden
recibir notificaciones push
También es posible en aplicaciones web con la ayuda
de:
● Service Workers
● Notifications.
● Push API.
● Colaboración de un servidor de mensajes push
(por ejemplo GCM-Google Cloud
● Messaging)
Las notificaciones se reciben aunque el navegador
esté en otra web o cerrado
Por ahora solo en Android (Chrome/Firefox). Safari no
implementa el estándar de push, sino uno propio, y
además solo en OSX, no en iOS
Google Cloud Messaging (GCM)
Your first push notifications web app
https://goo.gl/o6rQnq
manifest.json
Google Cloud Messaging (GCM)
http://mobilemerit.com/google-cloud-messaging/
Eventos Push
https://goo.gl/o6rQnq
Eventos Push
https://goo.gl/o6rQnq
DEMO
“Instalar” un WebApp.
https://jorger.github.io/dots/
“Instalar” un WebApp.
https://goo.gl/KN9wYK
Totally Tooling Tears - Matt Gaunt
Issue 2: Electron.js, Add to Homescreen on Desktop…
Soporte.
https://goo.gl/KN9wYK
Totally Tooling Tears - Matt Gaunt
Issue 2: Electron.js, Add to Homescreen on Desktop…
Soporte.
https://jakearchibald.github.io/isserviceworkerready/
Fuentes
● https://serviceworke.rs/
● https://jakearchibald.github.io/isserviceworkerready/
● https://dev.opera.com/blog/pwa-taipei/
● http://www.slideshare.net/brucelawson/bruce-lawson-progressive-web-apps-the-future-
of-apps
● https://www.smashingmagazine.com/2016/02/making-a-service-worker/
● https://developers.google.com/web/fundamentals/primers/service-worker/
● https://manifest-validator.appspot.com/
● http://offlinefirst.org/
● https://developers.google.com/web/progressive-web-apps#getstarted
● http://www.html5rocks.com/en/tutorials/service-worker/introduction/?
redirect_from_locale=es
● https://medium.com/totally-tooling-tears
● https://github.com/Jorger

Más contenido relacionado

Más de Jorge Rubiano

Sistema de Vídeo Clases
Sistema de Vídeo ClasesSistema de Vídeo Clases
Sistema de Vídeo ClasesJorge Rubiano
 
Aprendizaje y juegos - Transmedia UMB
Aprendizaje y juegos - Transmedia UMBAprendizaje y juegos - Transmedia UMB
Aprendizaje y juegos - Transmedia UMBJorge Rubiano
 
Platform from mobile learning
Platform from mobile learningPlatform from mobile learning
Platform from mobile learningJorge Rubiano
 
WebRTC - Una nueva tecnología web al servicio de la educación. Caso en Virtua...
WebRTC - Una nueva tecnología web al servicio de la educación. Caso en Virtua...WebRTC - Una nueva tecnología web al servicio de la educación. Caso en Virtua...
WebRTC - Una nueva tecnología web al servicio de la educación. Caso en Virtua...Jorge Rubiano
 
Experiencia de uso de WebRTC en la educación
Experiencia de uso de WebRTC en la educaciónExperiencia de uso de WebRTC en la educación
Experiencia de uso de WebRTC en la educaciónJorge Rubiano
 

Más de Jorge Rubiano (6)

Bogota js parchis
Bogota js parchisBogota js parchis
Bogota js parchis
 
Sistema de Vídeo Clases
Sistema de Vídeo ClasesSistema de Vídeo Clases
Sistema de Vídeo Clases
 
Aprendizaje y juegos - Transmedia UMB
Aprendizaje y juegos - Transmedia UMBAprendizaje y juegos - Transmedia UMB
Aprendizaje y juegos - Transmedia UMB
 
Platform from mobile learning
Platform from mobile learningPlatform from mobile learning
Platform from mobile learning
 
WebRTC - Una nueva tecnología web al servicio de la educación. Caso en Virtua...
WebRTC - Una nueva tecnología web al servicio de la educación. Caso en Virtua...WebRTC - Una nueva tecnología web al servicio de la educación. Caso en Virtua...
WebRTC - Una nueva tecnología web al servicio de la educación. Caso en Virtua...
 
Experiencia de uso de WebRTC en la educación
Experiencia de uso de WebRTC en la educaciónExperiencia de uso de WebRTC en la educación
Experiencia de uso de WebRTC en la educación
 

Último

Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 

Último (20)

Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 

Introducción a Service Worker - BogotaJS