notifications Notificaciones

Marcar todas como leídas

Ver más

Qué es una ServiceWorker

Lo lees en 1 Min.

En el centro tecnológico del desarrollo de aplicaciones web progresivas tenemos las ServiceWorkers, una nueva API de JavaScript que nos permite instalar un script de código que hace las funciones de un proxy entre el cliente, es decir nuestro navegador y el servidor, donde se encuentra nuestra página.

Una ServiceWorker es capaz de alterar las respuestas del servidor, interceptar las peticiones del cliente, mandar información específica a ciertas direcciones, recibir notificaciones push, hacer actualizaciones aunque la página no esté abierta, y eventualmente se irán añadiendo otras capacidades a esta sección del navegador.

Lo que hace interesante es que a través de esta tecnología y la capacidad de actualizar y almacenar archivos en el caché del navegador, podemos ofrecer respuesta a peticiones aún sin internet.

Para entender cómo funciona una ServiceWorker a un nivel muy alto, veamos un ejemplo de cómo haría para que nuestra página se vea sin internet.

Tradicionalmente, un navegador solicita información al servidor a través de la red, es decir del internet. Por ejemplo, digamos que el navegador, representado por este cocodrilo, envía una solicitud por index.html, este Groot es la ServiceWorker, que por ahora no hace nada y la petición pasa, va al internet, toma su tiempo y regresa. La ServiceWorker, tiene la capacidad de interceptar estas peticiones, por ejemplo, imagina que ahora nuestro script guarda archivos estáticos del servidor en el caché, tomamos la solicitud de index.html, la SW nota que ya tiene ese archivo localmente, y evita que se haga la petición al internet, enviando el archivo, ahora puedes ver por qué en una aplicación web progresiva el internet es opcional.

A eso nos referimos cuando decimos que la ServiceWorker es un proxy, porque funge como intermediario entre el cliente y el servidor. Pasemos a los siguientes temas para adentrarnos más en el funcionamiento de esta tecnología.