2. Agenda.
● Progressive Web Apps.
● manifest.json.
● Service Worker.
○ offline first.
○ Push Notifications
3. 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/
8. 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)
9. 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
10. 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
12. 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/
28. 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
29. Google Cloud Messaging (GCM)
Your first push notifications web app
https://goo.gl/o6rQnq
manifest.json