Aplicación web progresiva: Implementación y confiabilidad
Especifica puentes nativos, almacenamiento, sincronización, seguridad, pruebas, telemetría y recuperación para aplicaciones web progresivas. Define límites de adopción y evidencia observable de fallos mientras mantiene configurables los límites específicos del entorno.
Estado del paquete: contexto de referencia listo para revisión humana. El contrato y los escenarios de prueba están completos, pero no se afirma que una implementación adoptante los haya superado.
Decisión
Para la aplicación web progresiva, adoptar un contrato de dominio neutral a la plataforma con adaptadores nativos explícitos. Implementar el comportamiento mediante una única ruta autorizada de escritura, interfaces tipadas, estado explícito y manejo idempotente de efectos secundarios. Este paquete es un contrato de referencia: el equipo adoptante debe elegir límites numéricos, proveedores, jurisdicciones y responsables operativos basándose en la evidencia de su propio entorno.
Alcance
- Los actores, entradas, salidas, estados, versiones de políticas o esquemas, y resultados visibles externamente descritos por este bloque de implementación.
- Interfaces primarias y alternativas, trabajo en segundo plano, cachés, integraciones, rutas de soporte y evidencia que puedan ejercer el mismo límite.
- Configuración específica de adopción, despliegue, recuperación y responsabilidades de verificación necesarias para aplicar la referencia de forma segura.
Fuera de este bloque
- Elegir un proveedor universal, framework, jurisdicción, umbral numérico, periodo de retención u objetivo de nivel de servicio para todos los adoptantes.
- Afirmar que los escenarios empaquetados se han ejecutado contra una implementación descendente o que esta referencia otorga certificación legal, de seguridad o accesibilidad.
Contrato
- Modelar estados en primer plano, segundo plano, terminados, sin conexión, restaurados, desconectados y con permisos denegados donde la función dependa de ellos.
- Tratar las llamadas del sistema operativo y enlaces externos como entradas no confiables y reautorizar la acción de dominio resultante.
- Almacenar claves sensibles solo mediante instalaciones protegidas por la plataforma y minimizar los valores copiados a notificaciones, registros, copias de seguridad y portapapeles.
- Hacer que las operaciones de sincronización sean idempotentes con versiones duraderas o identificadores de operación en lugar de suposiciones basadas en tiempo transcurrido.
- Validar las entradas una vez en el límite y preservar la representación normalizada usada por la lógica descendente.
- Persistir la transición de negocio antes o atómicamente con un registro de buzón de salida; los consumidores deduplican por identidad duradera de la operación.
- Definir elegibilidad de instalación, identidad del manifiesto, ámbito, navegación de respaldo, capacidad sin conexión, propiedad del service worker, clases de caché, activación de actualización y comportamiento en navegadores no soportados.
- No almacenar credenciales o respuestas sensibles de forma amplia, reconciliar escrituras sin conexión por identidad duradera, prevenir versiones mixtas de la aplicación y probar carga inicial, recarga, actualización, expulsión, cuota y transiciones de red.
Guía de implementación
- Lanzar primero cambios aditivos en almacenamiento e interfaces, rellenar observablemente y luego retirar rutas antiguas tras evidencia de compatibilidad.
- Modelar entradas, salidas, actores, estados, invariantes, efectos secundarios y evidencia de la aplicación web progresiva antes de seleccionar detalles de framework o proveedor.
- Almacenar la versión aplicable del contrato o política de la aplicación web progresiva con el estado material para que migraciones, reproducción y decisiones de soporte sean atribuibles.
- Introducir la ruta detrás de un despliegue controlado, comparar resultados esperados y observados, y mantener una ruta de recuperación probada hasta que la evidencia de adopción esté completa.
Manejo de fallos y salvaguardas
- El trabajo nativo interrumpido se reanuda desde un punto de control duradero o regresa a un estado visible seguro sin duplicar efectos secundarios.
- El estado inválido o contradictorio de la aplicación web progresiva se rechaza o pone en cuarentena; la implementación nunca adivina un valor que amplíe autoridad o duplique un efecto.
- Los reintentos están limitados y usan identidad duradera; tras agotarlos, el trabajo alcanza un estado terminal inspeccionable con un responsable accountable.
Verificación y operaciones
- Inyectar fallos de dependencia antes y después de la persistencia y demostrar que el reintento converge en un único resultado visible externamente.
- Monitorear éxito, denegación, fallo de validación, fallo de dependencia, agotamiento de reintentos y recuperación de la aplicación web progresiva por versión de contrato sin dimensiones sensibles de carga útil.
- Reejecutar casos positivos y negativos emparejados tras cambios en política, esquema, dependencia, migración o límite y preservar la evidencia resultante.
Suposiciones de adopción
- Los nombres y valores en el ejemplo son un caso concreto, no valores predeterminados universales; los adoptantes los reemplazan mediante evidencia documentada y responsabilidad.
- El sistema adoptante puede proporcionar identidad autenticada, versiones duraderas de operación o registro, telemetría limitada y una ruta controlada para cambios.
Los ejemplos con apariencia ejecutable en este paquete son casos y contratos de aceptación. Ejecute el validador de colección para verificar estructura y metadatos, luego traduzca y ejecute los escenarios en el repositorio destino antes de registrar evidencia de implementación.