Las personas que disfrutan de la Web moderna usan una variedad de dispositivos y tipos de conexiones de red. Tus creaciones pueden llegar a usuarios de todo el mundo, pero ofrecer una experiencia confiable en la Web para todos los usuarios puede ser un desafío. Comprender lo que significa la confiabilidad puede ser un desafío.
Confiable sin conexión
Una forma de entender la confiabilidad es si la app web funcionará sin una conexión de red. Este es un tipo de confiabilidad que los usuarios dan por sentada con las apps específicas de la plataforma instaladas en un dispositivo móvil desde una tienda de aplicaciones. Cuando ves un ícono de una de estas apps, esperas poder presionarlo y abrir algún tipo de experiencia, independientemente de si tienes conexión a Internet o no.
Hasta hace poco tiempo, era un desafío compilar aplicaciones web que fueran confiables sin una conexión de red.
Rápido y confiable
Otra forma de pensar en la confiabilidad es si los usuarios pueden confiar en que la app web se cargue a una velocidad lo suficientemente rápida cuando tienen una conexión de red que podría no ser la ideal. ¿Los usuarios recurrentes tendrán la misma experiencia cuando interactúen con tu app web cuando estén conectados a una red móvil que cuando estén conectados a Wi-Fi? ¿Y qué pasa con los usuarios que tienen una conexión de latencia alta o “lie-fi”? ¿Tu app web será confiablemente rápida incluso en esas situaciones?
No basta con ser rápido en las mejores circunstancias. Los usuarios verán el rendimiento de tu app web desde la perspectiva de cómo se comporta en todas las condiciones de red.
La confiabilidad es alcanzable
La buena noticia es que la plataforma web moderna proporciona tecnologías, como los service workers y la API de Cache Storage, que pueden servir como componentes básicos para crear aplicaciones web confiables. Te permiten escribir código que se encuentra entre tu app web y la red. En muchos casos, puedes omitir la red por completo y, en su lugar, usar contenido previamente almacenado en caché para entregar las solicitudes de tu aplicación web.
Tu luz guía: responde con un 200 OK cuando no hay conexión
Una vez que comienzas a crear un service worker y a entregar contenido de caché, es difícil saber si lo estás haciendo de manera eficaz. ¿Cómo sabes que el service worker que implementas realmente ayuda a que tu app web evite la red? ¿Cómo puedes evitar que un pequeño cambio en tu estrategia de almacenamiento en caché interrumpa tu experiencia sin conexión cuidadosamente elaborada?
Lighthouse proporciona una prueba específica que es de especial interés cuando se compila una app web confiable: Responde con un 200 OK cuando no hay conexión:
¿Qué se está probando aquí? Se reduce a simular una pérdida de conectividad de red dentro del navegador, seguida de un intento de cargar la URL de tu sitio que se audita. Esto prueba un aspecto de la compilación de un sitio confiable (ser confiable mientras está sin conexión) mediante una secuencia de acciones controlada y repetible.
Es un viaje
Si recién estás empezando, hay muchas probabilidades de que recibas un resultado negativo para la verificación de respuestas con un error de 200 durante el uso sin conexión. Está bien. A menos que uses un proyecto inicial personalizado, las aplicaciones web no tienen ese tipo de confiabilidad de forma predeterminada. En las siguientes guías, se presentan las técnicas que necesitas para identificar lo que se está cargando tu aplicación web y se te enseña a usar Lighthouse para que esa experiencia de carga sea confiable.
A lo largo de este proceso, te recomendamos que vuelvas a ejecutar las auditorías de Lighthouse. Sirven como guía en tu recorrido, desde una nueva aplicación web hasta una app web progresiva confiable.