⚙️ Service Worker – ¿Qué es y para qué sirve?
El Service Worker es un componente que funciona en segundo plano dentro de la plataforma Alpura.
Su principal objetivo es mejorar la experiencia del usuario, permitiendo que la aplicación sea más rápida, estable y funcional incluso cuando la conexión a internet es limitada o inexistente.
🖼️ Vista general del Service Worker
La siguiente imagen muestra cómo el Service Worker actúa como intermediario entre la aplicación, el internet y la información guardada localmente.

🧩 ¿Cómo funciona?
El Service Worker actúa como un "proxy" inteligente entre la aplicación y la red.
- El usuario interactúa normalmente con la aplicación Alpura.
- El Service Worker intercepta las solicitudes que hace la aplicación (por ejemplo, al intentar cargar un módulo o una imagen).
- Decide cómo responder:
- Si hay internet, la información se obtiene desde los servicios en línea.
- Si no hay internet, utiliza los recursos que ha guardado previamente en el caché local.
Enfoque principal: Carga de Módulos (Microfrontends)
Su función más importante es decidir qué módulos (microfrontends) se pueden cargar en modo offline.
- Configuración centralizada: A nivel de código, se define qué microfrontends están habilitados para funcionar sin conexión. Esto permite a los administradores del sistema tener control sobre qué funcionalidades permanecen disponibles.
- El "Host" siempre offline: La aplicación principal (conocida como host) está diseñada para funcionar completamente sin conexión. Esto incluye elementos esenciales como el menú lateral, el encabezado, el pie de página, los estilos y las imágenes principales.
- Carga selectiva: Cuando intentas acceder a un módulo, el Service Worker verifica si está configurado para modo offline y si sus recursos están disponibles localmente para poder mostrarlo.
📦 ¿Qué tipo de información maneja?
El Service Worker gestiona dos tipos principales de recursos para el modo offline:
-
Recursos de la Aplicación Principal (Host):
- La estructura base de la plataforma:
index.html, estilos (CSS), y scripts principales (JavaScript). - Componentes visuales clave como el encabezado, pie de página y menú lateral.
- Imágenes, íconos y fuentes tipográficas esenciales.
- La estructura base de la plataforma:
-
Módulos Específicos (Microfrontends):
- Por configuración, se define qué módulos funcionales (por ejemplo, "CRM Ranchos", "Aseguradoras", etc) deben estar disponibles sin conexión.
- El Service Worker se encarga de descargar y almacenar los archivos necesarios para que estos microfrontends específicos puedan operar de forma autónoma.
🚀 Beneficios para el usuario
- La aplicación abre más rápido
- Mejor experiencia en conexiones lentas
- Disponibilidad parcial sin internet
- Menos interrupciones durante el uso
🔐 Seguridad
El Service Worker solo maneja recursos previamente autorizados por la plataforma y no expone información sensible del usuario.
📬 Soporte
Para dudas sobre el funcionamiento offline de la plataforma, contactar al equipo de arquitectura o soporte.