SlideShare una empresa de Scribd logo
1 de 55
bit.do/openbiko
Instala la
Progressive Web App
del Biko Open Space
(mejor con Chrome de Android)
Progressive web apps
alberto.silva@biko2.com
El FUTURO de la
web móvil
esto… el
FUTURO?
El PRESENTE de
la web móvil
arrea, ¡que
llegamos TARDE!
Qué es una Progressive Web App
App desarrollada SÓLO con tecnología web
offline nunca muestra un error por falta de conectividad
Rápida carga al instante y responde con animaciones fluidas (60fps)
Inmersiva experiencia de uso como una app nativa
● icono en pantalla de
inicio
● modo inmersivo
● pantalla splash
● notificaciones
nativas
Icono en pantalla
de inicio
+
modo inmersivo
Pantalla splash
Notificaciones
push nativas
Ejemplos
https://voice-memos.appspot.com
https://meatscope.camera/
https://guitar-tuner.appspot.com/
https://smaller-pictures.appspot.com/
https://www.soundslice.com/
https://pwa.rocks
Por qué suponen
una revolución
1
Porque devuelven las
apps a los estándares
de la open web
Apps nativas
vs
web apps
una batalla ganada por las
apps nativas desde 2007 a
2015
Pros de Apps nativas
Alto rendimiento en tareas complejas
Animaciones e interacciones suaves
Carga instantánea y soporte para offline
Fácilmente instalables desde una App Store
Fácilmente accesibles desde la pantalla de inicio
contras de Apps nativas
Alto tiempo de instalación
Tienes que buscarlas proactivamente
Actualizaciones muy complicadas
No son compartibles mediante un link
Excesivo consumo de espacio y de RAM
PWA: hemos parido un mulato!
Una PWA puede hablar de tú a tú a una app nativa:
Instalables, pero compartibles por link
Accesibles desde la pantalla de inicio y desde la web
Funcionan offline y con conexiones intermitentes
Envían notificaciones push
Se actualizan automáticamente, sin intervención del usuario
Se instalan mientras navegas, sin necesidad de ir a una App Store
2
Porque trasladan a móvil
la misma filosofía de “la
red es el sistema
operativo” que tenemos en
escritorio
3
Porque abren un
nuevo mercado
El desarrollo y mantenimiento de apps
nativas es MUY CARO y ESPECIALIZADO
Ahora, muchos proyectos podrán
permitirse hacer una app PWA...
...porque tenemos a miles de
profesionales senior en tecnologías
web!
4
Porque mejoran
todas las cifras de
negocio
92% menos datos para carga
inicial vs. app nativa
82% menos datos para completar
una transacción vs. app nativa
Mejora del 12% en el ratio
click-through
100% más ventas por usuarios que
llegan mediante notificaciones push
Mejora del 4x en re-captación de
usuarios
+104% de conversión de nuevos usuarios
2X más páginas vistas por sesión
Subida del 74% en el tiempo de visita
Y ahora…
manos a la obra
Se compone de
HTTPS
Web App Manifest
Web App Install Banners
App Shell
Service Worker
Web Push Notifications (opcional)
HTTPS
Imprescindible para que el Service Worker funcione
Para facilitar el desarrollo, los Service Worker sí funcionan en
“http://localhost”...
… pero sólo en localhost, y no en http://proyecto.dev ni
https://proyecto.dev
https://letsencrypt.org/ nos facilita la vida, pero no emite certificados
para dominios no públicos (.dev, .local, etc)
Se compone de
HTTPS
Web App Manifest
Web App Install Banners
App Shell
Service Worker
Web Push Notifications
Web App Manifest
Define los datos de la aplicación a la hora de instalarla de forma nativa:
● Nombre
● Icono a usar
● Color de la pantalla splash
● Orientación horizontal / vertical
● Modo inmersivo on/off
● Url de inicio al arrancar la app
manifest.json
{
"name": "Biko Open Space",
"short_name": "OpenBiko",
"icons": [
{
"src": "/images/touch/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/images/touch/android-chrome-384x384.png",
"sizes": "384x384",
"type": "image/png"
}
],
"start_url": "/",
"display": "standalone",
"background_color": "#3E4EB8",
"theme_color": "#a20b00"
}
Añadir al <header>
<link rel="manifest"
href="/manifest.json">
Manifest Generator
http://brucelawson.github.io/manif
est/
Previsualizando
manifest.json
Se compone de
HTTPS
Web App Manifest
Web App Install Banners
App Shell
Service Worker
Web Push Notifications
Web App Install Banners
Lo muestra Chrome según sus criterios: no lo podemos
definir nosotros
● Tener un manifest.json con:
○ short_name (para la pantalla de inicio)
○ name (para el banner)
○ un icono png de 144x144
○ un start_url
○ tener un Service Worker.
● Estar servido bajo HTTPS
● Hacer al menos dos visitas, con 5 minutos entre ellas
Aceptación de los banners
Web App Install Banners
Añadir a la pantalla de inicio de forma manual
● Nombre
● Icono a usar
● Color de la pantalla splash
● Orientación horizontal / vertical
● Modo inmersivo on/off
● Url de inicio al arrancar la app
Se compone de
HTTPS
Web App Manifest
Web App Install Banners
App Shell
Service Worker
Web Push Notifications
El App Shell no incluye
contenido ni
funcionalidades
Sigue la reglas del
critical rendering path
Se compone de
HTTPS
Web App Manifest
Web App Install Banners
App Shell
Service Worker
Web Push Notifications
Qué es un Service Worker
Script que corre desacoplado en el background (sin acceso al DOM)
Scope en función de la ruta en que esté. Normalmente se pone en el raíz y
se nombra /sw.js o /service-worker.js
Ahora tiene 3 funciones (más por venir):
1. Proxy de acceso a red para cacheo (permite modo offline)
2. Gestión de Web Push Notifications
3. Sincronización de datos en background
Cacheo de datos
No, es
transparente!
Ciclo de vida de un service worker
Si no tiene trabajo, se queda idle para no
consumir batería
Si el navegador instala otro SW distinto (se
comparan ficheros), el nuevo SW no se activa
hasta recargar la página (self.skipWaiting()
permite no esperar)
Recomiendo usar:
https://github.com/GoogleChrome/sw-precache
https://github.com/GoogleChrome/sw-toolbox
Debugear Service Workers
Service Worker cache
Se compone de
HTTPS
Web App Manifest
Web App Install Banners
App Shell
Service Worker
Web Push Notifications
Web Push NOtifications
No confundir con Push Notifications de Android / iOS
No confundir con Notifications locales del propio navegador al SO
Dependen de un Service Worker para funcionar
Se basan en un sistema de clave pública / privada y un servidor push (cada
navegador tiene el suyo)
Las claves también encriptan el mensaje que pasa por el servidor de push
Usar librerías de https://github.com/web-push-libs/
Push flow
¡Gracias!
alberto.silva@biko2.com

Más contenido relacionado

La actualidad más candente

WFSpain Android App - Imágenes y persistencia
WFSpain Android App - Imágenes y persistenciaWFSpain Android App - Imágenes y persistencia
WFSpain Android App - Imágenes y persistencia
Jorge Martín Espinosa
 
Presentación sin título
Presentación sin títuloPresentación sin título
Presentación sin título
Dylan Caro
 
Dreamwaver2222222222222
Dreamwaver2222222222222Dreamwaver2222222222222
Dreamwaver2222222222222
Jose David
 

La actualidad más candente (16)

Las mejores herramientas para crear webs
Las mejores herramientas para crear websLas mejores herramientas para crear webs
Las mejores herramientas para crear webs
 
Web
WebWeb
Web
 
MMA & Dossier - Charla M-Commerce
MMA & Dossier - Charla M-CommerceMMA & Dossier - Charla M-Commerce
MMA & Dossier - Charla M-Commerce
 
Video en boostrap
Video en boostrapVideo en boostrap
Video en boostrap
 
Consejos clave para_crear_proyectos_web
Consejos clave para_crear_proyectos_webConsejos clave para_crear_proyectos_web
Consejos clave para_crear_proyectos_web
 
Rpeorte 10
Rpeorte 10Rpeorte 10
Rpeorte 10
 
Dream weaver (presentacion)
Dream weaver (presentacion)Dream weaver (presentacion)
Dream weaver (presentacion)
 
WFSpain Android App - Imágenes y persistencia
WFSpain Android App - Imágenes y persistenciaWFSpain Android App - Imágenes y persistencia
WFSpain Android App - Imágenes y persistencia
 
Presentación sin título
Presentación sin títuloPresentación sin título
Presentación sin título
 
Manual Ajax con jquery
Manual Ajax con jqueryManual Ajax con jquery
Manual Ajax con jquery
 
Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
Dreamweaver.
Dreamweaver.Dreamweaver.
Dreamweaver.
 
Dreamwaver2222222222222
Dreamwaver2222222222222Dreamwaver2222222222222
Dreamwaver2222222222222
 
Dreamwaver
DreamwaverDreamwaver
Dreamwaver
 
Creando apps móviles en React Native
Creando apps móviles en React NativeCreando apps móviles en React Native
Creando apps móviles en React Native
 
SEO para aplicaciones javascript
SEO para aplicaciones javascriptSEO para aplicaciones javascript
SEO para aplicaciones javascript
 

Similar a Progressive web apps

2 aplicaciones web
2 aplicaciones web2 aplicaciones web
2 aplicaciones web
UVM
 
Ionic: el framework para crear aplicaciones-hibridas-multiplataforma
Ionic: el framework para crear aplicaciones-hibridas-multiplataformaIonic: el framework para crear aplicaciones-hibridas-multiplataforma
Ionic: el framework para crear aplicaciones-hibridas-multiplataforma
QuasarMaximus
 
Actividad de recurecuperacion (2)
Actividad de recurecuperacion (2)Actividad de recurecuperacion (2)
Actividad de recurecuperacion (2)
BBRYANN
 
Actividad de recurecuperacion (2)
Actividad de recurecuperacion (2)Actividad de recurecuperacion (2)
Actividad de recurecuperacion (2)
BBRYANN
 
Desarrollo de software orientado a la web. alex vaca
Desarrollo de software orientado a la web. alex vacaDesarrollo de software orientado a la web. alex vaca
Desarrollo de software orientado a la web. alex vaca
Alexa Romero
 
Actividad de recurecuperacion
Actividad de recurecuperacionActividad de recurecuperacion
Actividad de recurecuperacion
BBRYANN
 

Similar a Progressive web apps (20)

Globant development week / Progressive Web Apps
Globant development week / Progressive Web AppsGlobant development week / Progressive Web Apps
Globant development week / Progressive Web Apps
 
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
 
2 aplicaciones web
2 aplicaciones web2 aplicaciones web
2 aplicaciones web
 
sistemas basados en web
sistemas basados en websistemas basados en web
sistemas basados en web
 
Taller Silverlight Alicante 2009
Taller Silverlight Alicante 2009Taller Silverlight Alicante 2009
Taller Silverlight Alicante 2009
 
IONIC, el framework para crear aplicaciones híbridas multiplataforma
IONIC, el framework para crear aplicaciones híbridas multiplataformaIONIC, el framework para crear aplicaciones híbridas multiplataforma
IONIC, el framework para crear aplicaciones híbridas multiplataforma
 
Ionic: el framework para crear aplicaciones-hibridas-multiplataforma
Ionic: el framework para crear aplicaciones-hibridas-multiplataformaIonic: el framework para crear aplicaciones-hibridas-multiplataforma
Ionic: el framework para crear aplicaciones-hibridas-multiplataforma
 
Aplicaciones de escritorio y aplicaciones web
Aplicaciones de escritorio y aplicaciones webAplicaciones de escritorio y aplicaciones web
Aplicaciones de escritorio y aplicaciones web
 
Building Ria Applications With Silverlight 2
Building Ria Applications With Silverlight 2Building Ria Applications With Silverlight 2
Building Ria Applications With Silverlight 2
 
Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones web
 
De Cero a Wordpress
De Cero a WordpressDe Cero a Wordpress
De Cero a Wordpress
 
Actividad de recurecuperacion (2)
Actividad de recurecuperacion (2)Actividad de recurecuperacion (2)
Actividad de recurecuperacion (2)
 
Actividad de recurecuperacion (2)
Actividad de recurecuperacion (2)Actividad de recurecuperacion (2)
Actividad de recurecuperacion (2)
 
Haciendo Uso De La Web Quest
Haciendo Uso De La Web QuestHaciendo Uso De La Web Quest
Haciendo Uso De La Web Quest
 
Desarrollo de software orientado a la web. alex vaca
Desarrollo de software orientado a la web. alex vacaDesarrollo de software orientado a la web. alex vaca
Desarrollo de software orientado a la web. alex vaca
 
Prog. web. equipo 5
Prog. web. equipo 5Prog. web. equipo 5
Prog. web. equipo 5
 
Programacion web i
Programacion web iProgramacion web i
Programacion web i
 
Actividad de recurecuperacion
Actividad de recurecuperacionActividad de recurecuperacion
Actividad de recurecuperacion
 
Internet - Teconología para Sistemas Web
Internet - Teconología para Sistemas WebInternet - Teconología para Sistemas Web
Internet - Teconología para Sistemas Web
 
Megías.pdf
Megías.pdfMegías.pdf
Megías.pdf
 

Más de Biko

Movilidad - Tendencias que cambiarán nuestras vidas
Movilidad - Tendencias que cambiarán nuestras vidasMovilidad - Tendencias que cambiarán nuestras vidas
Movilidad - Tendencias que cambiarán nuestras vidas
Biko
 

Más de Biko (20)

Guia Rapida Para Entender A La Generacion Z
Guia Rapida Para Entender A La Generacion ZGuia Rapida Para Entender A La Generacion Z
Guia Rapida Para Entender A La Generacion Z
 
De maquetador a componentizador React, ¿qué ha cambiado?
De maquetador a componentizador React, ¿qué ha cambiado?De maquetador a componentizador React, ¿qué ha cambiado?
De maquetador a componentizador React, ¿qué ha cambiado?
 
Narrativas Metafóricas
Narrativas MetafóricasNarrativas Metafóricas
Narrativas Metafóricas
 
¿Son los micropagos el nuevo mal?
¿Son los micropagos el nuevo mal?¿Son los micropagos el nuevo mal?
¿Son los micropagos el nuevo mal?
 
Tendencias para la venta experiencial 2017
Tendencias para la venta experiencial 2017Tendencias para la venta experiencial 2017
Tendencias para la venta experiencial 2017
 
Triplica la conversión de tu landing page
Triplica la conversión de tu landing pageTriplica la conversión de tu landing page
Triplica la conversión de tu landing page
 
¡Hola flexbox! Adiós float...
¡Hola flexbox! Adiós float...¡Hola flexbox! Adiós float...
¡Hola flexbox! Adiós float...
 
Working effectively with legacy code
Working effectively with legacy codeWorking effectively with legacy code
Working effectively with legacy code
 
Atom.io el editor definitivo VS PhpStorm el editor definitivo
Atom.io el editor definitivo VS PhpStorm el editor definitivoAtom.io el editor definitivo VS PhpStorm el editor definitivo
Atom.io el editor definitivo VS PhpStorm el editor definitivo
 
Contribuir a drupal
Contribuir a drupalContribuir a drupal
Contribuir a drupal
 
Apis killed the website star.pptx
Apis killed the website star.pptxApis killed the website star.pptx
Apis killed the website star.pptx
 
Drupal 8: deploy capistrano y gestión de la configuración
Drupal 8: deploy capistrano y gestión de la configuraciónDrupal 8: deploy capistrano y gestión de la configuración
Drupal 8: deploy capistrano y gestión de la configuración
 
Introducción a Tag Manager
Introducción a Tag ManagerIntroducción a Tag Manager
Introducción a Tag Manager
 
Fields en drupal 8
Fields en drupal 8Fields en drupal 8
Fields en drupal 8
 
Amp - contenido instantáneo en móvil
Amp - contenido instantáneo en móvilAmp - contenido instantáneo en móvil
Amp - contenido instantáneo en móvil
 
Sesión de narrativa digital y proceso de descubrimiento en proyectos
Sesión de narrativa digital y proceso de descubrimiento en proyectosSesión de narrativa digital y proceso de descubrimiento en proyectos
Sesión de narrativa digital y proceso de descubrimiento en proyectos
 
Tendencias web en el sector agroalimentario
Tendencias web en el sector agroalimentarioTendencias web en el sector agroalimentario
Tendencias web en el sector agroalimentario
 
Realidad aumentada y Movilidad
Realidad aumentada y MovilidadRealidad aumentada y Movilidad
Realidad aumentada y Movilidad
 
Movilidad - Tendencias que cambiarán nuestras vidas
Movilidad - Tendencias que cambiarán nuestras vidasMovilidad - Tendencias que cambiarán nuestras vidas
Movilidad - Tendencias que cambiarán nuestras vidas
 
Webinar: Aterrizaje de proyectos digitales
Webinar: Aterrizaje de proyectos digitalesWebinar: Aterrizaje de proyectos digitales
Webinar: Aterrizaje de proyectos digitales
 

Último

Antenas, tipos de antenas, diseño basico de una antena y parámetros.pdf
Antenas, tipos de antenas, diseño basico de una antena y parámetros.pdfAntenas, tipos de antenas, diseño basico de una antena y parámetros.pdf
Antenas, tipos de antenas, diseño basico de una antena y parámetros.pdf
perezreyesalberto10
 

Último (6)

Corte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuadCorte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuad
 
Presentacion Seguridad y Privacidad en la Web
Presentacion Seguridad y Privacidad en la WebPresentacion Seguridad y Privacidad en la Web
Presentacion Seguridad y Privacidad en la Web
 
Emprende en SPA Segundo día CENEC Mexico
Emprende en SPA Segundo día CENEC MexicoEmprende en SPA Segundo día CENEC Mexico
Emprende en SPA Segundo día CENEC Mexico
 
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
 
Antenas, tipos de antenas, diseño basico de una antena y parámetros.pdf
Antenas, tipos de antenas, diseño basico de una antena y parámetros.pdfAntenas, tipos de antenas, diseño basico de una antena y parámetros.pdf
Antenas, tipos de antenas, diseño basico de una antena y parámetros.pdf
 
Biología Células Musculares presentación
Biología Células Musculares presentaciónBiología Células Musculares presentación
Biología Células Musculares presentación
 

Progressive web apps

  • 1. bit.do/openbiko Instala la Progressive Web App del Biko Open Space (mejor con Chrome de Android)
  • 3. El FUTURO de la web móvil
  • 5. El PRESENTE de la web móvil
  • 7. Qué es una Progressive Web App App desarrollada SÓLO con tecnología web
  • 8. offline nunca muestra un error por falta de conectividad
  • 9. Rápida carga al instante y responde con animaciones fluidas (60fps)
  • 10. Inmersiva experiencia de uso como una app nativa ● icono en pantalla de inicio ● modo inmersivo ● pantalla splash ● notificaciones nativas
  • 11. Icono en pantalla de inicio + modo inmersivo
  • 15. Por qué suponen una revolución
  • 16. 1 Porque devuelven las apps a los estándares de la open web
  • 17.
  • 18. Apps nativas vs web apps una batalla ganada por las apps nativas desde 2007 a 2015
  • 19. Pros de Apps nativas Alto rendimiento en tareas complejas Animaciones e interacciones suaves Carga instantánea y soporte para offline Fácilmente instalables desde una App Store Fácilmente accesibles desde la pantalla de inicio
  • 20. contras de Apps nativas Alto tiempo de instalación Tienes que buscarlas proactivamente Actualizaciones muy complicadas No son compartibles mediante un link Excesivo consumo de espacio y de RAM
  • 21. PWA: hemos parido un mulato! Una PWA puede hablar de tú a tú a una app nativa: Instalables, pero compartibles por link Accesibles desde la pantalla de inicio y desde la web Funcionan offline y con conexiones intermitentes Envían notificaciones push Se actualizan automáticamente, sin intervención del usuario Se instalan mientras navegas, sin necesidad de ir a una App Store
  • 22. 2 Porque trasladan a móvil la misma filosofía de “la red es el sistema operativo” que tenemos en escritorio
  • 24. El desarrollo y mantenimiento de apps nativas es MUY CARO y ESPECIALIZADO Ahora, muchos proyectos podrán permitirse hacer una app PWA... ...porque tenemos a miles de profesionales senior en tecnologías web!
  • 25. 4 Porque mejoran todas las cifras de negocio
  • 26. 92% menos datos para carga inicial vs. app nativa 82% menos datos para completar una transacción vs. app nativa
  • 27. Mejora del 12% en el ratio click-through 100% más ventas por usuarios que llegan mediante notificaciones push Mejora del 4x en re-captación de usuarios
  • 28. +104% de conversión de nuevos usuarios 2X más páginas vistas por sesión Subida del 74% en el tiempo de visita
  • 30. Se compone de HTTPS Web App Manifest Web App Install Banners App Shell Service Worker Web Push Notifications (opcional)
  • 31. HTTPS Imprescindible para que el Service Worker funcione Para facilitar el desarrollo, los Service Worker sí funcionan en “http://localhost”... … pero sólo en localhost, y no en http://proyecto.dev ni https://proyecto.dev https://letsencrypt.org/ nos facilita la vida, pero no emite certificados para dominios no públicos (.dev, .local, etc)
  • 32. Se compone de HTTPS Web App Manifest Web App Install Banners App Shell Service Worker Web Push Notifications
  • 33. Web App Manifest Define los datos de la aplicación a la hora de instalarla de forma nativa: ● Nombre ● Icono a usar ● Color de la pantalla splash ● Orientación horizontal / vertical ● Modo inmersivo on/off ● Url de inicio al arrancar la app
  • 34. manifest.json { "name": "Biko Open Space", "short_name": "OpenBiko", "icons": [ { "src": "/images/touch/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" }, { "src": "/images/touch/android-chrome-384x384.png", "sizes": "384x384", "type": "image/png" } ], "start_url": "/", "display": "standalone", "background_color": "#3E4EB8", "theme_color": "#a20b00" } Añadir al <header> <link rel="manifest" href="/manifest.json"> Manifest Generator http://brucelawson.github.io/manif est/
  • 36. Se compone de HTTPS Web App Manifest Web App Install Banners App Shell Service Worker Web Push Notifications
  • 37. Web App Install Banners Lo muestra Chrome según sus criterios: no lo podemos definir nosotros ● Tener un manifest.json con: ○ short_name (para la pantalla de inicio) ○ name (para el banner) ○ un icono png de 144x144 ○ un start_url ○ tener un Service Worker. ● Estar servido bajo HTTPS ● Hacer al menos dos visitas, con 5 minutos entre ellas
  • 39. Web App Install Banners Añadir a la pantalla de inicio de forma manual ● Nombre ● Icono a usar ● Color de la pantalla splash ● Orientación horizontal / vertical ● Modo inmersivo on/off ● Url de inicio al arrancar la app
  • 40. Se compone de HTTPS Web App Manifest Web App Install Banners App Shell Service Worker Web Push Notifications
  • 41. El App Shell no incluye contenido ni funcionalidades Sigue la reglas del critical rendering path
  • 42.
  • 43. Se compone de HTTPS Web App Manifest Web App Install Banners App Shell Service Worker Web Push Notifications
  • 44. Qué es un Service Worker Script que corre desacoplado en el background (sin acceso al DOM) Scope en función de la ruta en que esté. Normalmente se pone en el raíz y se nombra /sw.js o /service-worker.js Ahora tiene 3 funciones (más por venir): 1. Proxy de acceso a red para cacheo (permite modo offline) 2. Gestión de Web Push Notifications 3. Sincronización de datos en background
  • 47.
  • 48. Ciclo de vida de un service worker Si no tiene trabajo, se queda idle para no consumir batería Si el navegador instala otro SW distinto (se comparan ficheros), el nuevo SW no se activa hasta recargar la página (self.skipWaiting() permite no esperar) Recomiendo usar: https://github.com/GoogleChrome/sw-precache https://github.com/GoogleChrome/sw-toolbox
  • 51. Se compone de HTTPS Web App Manifest Web App Install Banners App Shell Service Worker Web Push Notifications
  • 52. Web Push NOtifications No confundir con Push Notifications de Android / iOS No confundir con Notifications locales del propio navegador al SO Dependen de un Service Worker para funcionar Se basan en un sistema de clave pública / privada y un servidor push (cada navegador tiene el suyo) Las claves también encriptan el mensaje que pasa por el servidor de push Usar librerías de https://github.com/web-push-libs/
  • 54.