Las apps web progresivas (AWP) son un patrón para crear aplicaciones modernas e instalables mediante tecnología web para dispositivos móviles y computadoras de escritorio.
Uno de los criterios para crear una experiencia web moderna, y no casualmente AWP, es que la app debe seguir funcionando incluso si el dispositivo no tiene conexión. Esto significa que no se mostrará la pantalla del dinosaurio de Chrome si el usuario pierde la red. a las que puedes acceder en sus dispositivos.
El objetivo de todos los criterios de una AWP es ayudar a garantizar que los usuarios tengan una alta de calidad y competitiva en la app al navegar por la Web. Chrome realiza verifica los criterios de AWP antes de habilitar la instalación de una AWP.
Solo las apps que cumplen todas las Criterios para la instalación de apps web progresivas, incluida la asistencia para el modo sin conexión, se pueden instalar en el dispositivo desde Chrome.
Lógica de detección sin conexión anterior
La verificación de la compatibilidad sin conexión forma parte de la instalación de la AWP criterios durante varios años. Hasta hace poco, Chrome no tenía la para simular solicitudes a través del service worker, por lo que no era posible tener un comportamiento correcto sin conexión.
Eso significaba que Chrome no podía validar si el fetch
el controlador de eventos mostró un recurso válido con HTTP 200 durante la verificación sin conexión.
Chrome solo verificó si el service worker realmente tenía un controlador fetch
.
Se actualizó la lógica de detección sin conexión
En Chrome 89 se agregó la capacidad de ejecutar solicitudes sin conexión simuladas a través del en un service worker, lo que permite que la lógica de detección sin conexión mejorada refleje mejor soporte real sin conexión de la aplicación.
Habíamos planeado usar esta nueva capacidad para garantizar que las AWP proporcionaran una
página web cuando están sin conexión, pero dejaron de funcionar esos planes. La verificación de instalabilidad
seguirá funcionando si la página tiene un service worker que incluya
Controlador de eventos fetch
.
¿Qué significa esto para los desarrolladores?
Si bien por el momento, no es necesario realizar ningún cambio, te recomendamos que proporciones un experiencia sin conexión, ya que esperamos usar la lógica actualizada para comprobar en algún momento.
Puedes decidir qué tipo de experiencia sin conexión quieres ofrecer. En un extremo del espectro, se encuentra una experiencia sin conexión completamente funcional. Esto significa almacenar previamente en caché todos los recursos y datos necesarios, y sincronizar los datos con tu cuando el usuario vuelva a estar en línea. Almacenar recursos en caché también ayudará a mejorar métricas web esenciales porque elimina la necesidad de descargar recursos de la red en cada ocasión. En el otro extremo del espectro, hay una página de resguardo personalizada sin conexión.
La advertencia que se muestra debajo del Después de Chrome 90, se quitará la pestaña Problemas de las herramientas para desarrolladores.