← Back to list

H6 — Service Worker deprecated

🟢 Baja #10 | Score: 6/10 pending
Prioridad: 🟢 Baja #10
Área: PWA / Offline
Severidad: Media
Puntaje actual: 6/10 | Potencial: 9/10

---

Síntoma



Flutter ha marcado el Service Worker generado automáticamente como deprecated. La versión actual "1483515838" del SW no provee soporte offline funcional. Solo sirve la splash screen HTML/CSS cuando no hay conexión.

Evidencia



eval-console.mjs / eval-api.mjs:
Console deprecation warning:
"Flutter's service worker is deprecated"

Análisis de alcance offline:
• Sin conexión: solo muestra splash screen HTML/CSS
• No cachea partituras PDF
• No cachea respuestas de API
• No cachea imágenes de scores


Impacto



Factor | Detalle
--------|---------
Offline | App no funcional sin internet
PWA install | Instalable pero inútil sin conexión
Percepción | Usuario espera que una PWA funcione offline
Competitividad | Otras apps de partituras (MuseScore, Sheet Music Direct) tienen offline

Causa raíz



Flutter Web genera automáticamente un Service Worker básico que solo cachea los archivos JS/CSS/HTML del framework. No incluye lógica para cachear contenido de API ni partituras PDF. En versiones recientes de Flutter (3.44+), el equipo de Flutter recomienda NO usar el SW generado y en su lugar implementar uno personalizado con Workbox.

El mensaje de deprecación es de Flutter mismo, no un error de la app.

Reproducción



export DISPLAY=:99
cd /home/admin/fluttwebfaris
node eval-console.mjs
# Buscar: "service worker" en console warnings


Fix sugerido




1. Opción A: Remover el SW de Flutter y usar Workbox para cache estratégico

2. Opción B: Implementar SW personalizado que cachee:
- API responses (strategy: NetworkFirst)
- PDFs vistos (strategy: CacheFirst con expiry de 7 días)
- Imágenes de scores (strategy: CacheFirst)

3. Opción C: No hacer nada si la app siempre requiere conexión (depende de requisitos)

Tiempo estimado de fix



4-8h (Workbox integration)

Referencias



eval-console.mjs — Console warning detection
eval-api.mjs — API call analysis (muestra que todo requiere conexión)
NOTAS-ERRORES.md línea 92-99

Review

Comments (0)