PWA
Performance Web
Desenvolvimento
Experiência do Usuário
Web

PWA: qué es y cómo cuidar el rendimiento en el día a día

Una PWA no es rápida por decreto; El rendimiento es un cuidado diario, no una configuración que activas y olvidas.

Una aplicación web progresiva promete lo mejor de ambos mundos: la accesibilidad de la web con la sensación de una aplicación instalada. Se abre rápidamente, funciona sin conexión, puede enviar notificaciones y se instala en la pantalla de inicio sin tener que ir a una tienda. En teoría, es elegante.

Mucha gente enciende una PWA, ve que "funciona" y asume que ha obtenido rendimiento gratuito. Unos meses más tarde, la aplicación es lenta, el caché es más un obstáculo que una ayuda y la experiencia de la aplicación se ha convertido en una página web pesada con un icono en la pantalla.

PWA no es un interruptor de rendimiento. Es una arquitectura que, si se cuida bien, genera velocidad y que, si se descuida, genera frustración. Quiero explicarte qué es una PWA y, principalmente, cómo mantener un rendimiento saludable en tu rutina, porque es en el día a día que se gana o se pierde.

¿Qué es una PWA? No es ningún misterio.

Una PWA es, en esencia, un sitio web que utiliza un conjunto de tecnologías web modernas para comportarse como una aplicación. Los tres pilares son el trabajador de servicio, que se ejecuta en segundo plano y controla el almacenamiento en caché y el funcionamiento fuera de línea; el manifiesto, que te permite instalar la aplicación en la pantalla de inicio con su propio icono y nombre; y el uso de HTTPS, un requisito de seguridad para que todo esto funcione.

El trabajador de servicios es el corazón de la historia. Se ubica entre la aplicación y la red, intercepta solicitudes y decide qué servir desde el caché y qué buscar en línea. Esto es lo que hace que la PWA se abra instantáneamente y funcione sin conexión.

Este poder es también la fuente de problemas. Un trabajador de servicio mal configurado sirve contenido antiguo, no actualiza cuando debería o llena el dispositivo con caché inútil. La misma parte que te da velocidad te puede dar lentitud.

La tesis: el rendimiento de PWA es mantenimiento, no instalación

La idea que más quiero combatir es que el rendimiento proviene de la decisión de "usar PWA". Sostengo que proviene de hábitos de desarrollo continuo y que una PWA requiere más disciplina, no menos, que un sitio web típico.

La razón es simple: PWA agrega una capa, el trabajador de servicio y sus estrategias de almacenamiento en caché, que debe ser pensada, probada y mantenida. Cada nueva versión de la aplicación es una oportunidad para romper el caché, ofrecer contenido obsoleto o inflar lo que está almacenado en el dispositivo.

Por lo tanto, la realización de PWA es una atención de rutina. Es algo que forma parte del flujo de cada entrega, no una configuración que se hace una vez y se olvida. Quienes lo tratan como olvidable acumulan problemas que sólo aparecen cuando el usuario ya está irritado.

Estrategia de almacenamiento en caché: la atención central

La decisión más importante en una rutina PWA es cómo se almacena en caché cada tipo de recurso. No existe una única estrategia que sirva para todo.

Los archivos que rara vez cambian, el código de la aplicación, los íconos y las fuentes, se pueden almacenar en caché de manera agresiva y se muestran primero desde el caché para abrirse rápidamente. Los datos que cambian todo el tiempo, el contenido que consume el usuario, requieren estrategias que prioricen la red o que validen si el caché aún está fresco.

El error más común es aplicar una estrategia agresiva a todo. La aplicación se abre rápidamente, pero muestra información antigua y el usuario ve precios, estados o contenidos obsoletos. En aplicaciones con datos sensibles, esto pasa de una molestia a un problema grave.

Diariamente, cada nueva característica agregada a la aplicación debería plantear la pregunta: ¿cómo se debe almacenar en caché? Tratar esta cuestión como parte del desarrollo, no como un detalle, es lo que mantiene unidos el rendimiento y la corrección.

Versiones y actualizaciones sencillas

Un problema clásico de PWA es que el usuario se queda atascado en una versión anterior porque el trabajador del servicio sigue entregando el caché anterior. Publicas una corrección y el usuario no la ve, porque su app insiste en mostrar lo que había guardado.

Resolver esto requiere una estrategia de actualización del trabajador del servicio y control de versiones de la caché. Cuando se publica una nueva versión, la aplicación debe darse cuenta, descargar el nuevo contenido y activarlo de forma controlada, idealmente avisando al usuario o actualizándolo la próxima vez que se abra.

Este flujo debe probarse con cada entrega. He visto equipos publicar correcciones urgentes que simplemente no llegaron a los usuarios debido a una caché mal administrada. La solución existía en el servidor y era inútil en el dispositivo. El rendimiento aquí incluye la capacidad de aplicar parches rápidamente, y esto depende de si el ciclo de actualización funciona.

Medir es parte de la rutina

No puedes cuidar lo que no se mide. El rendimiento de una PWA debe controlarse con datos reales, no sólo con la impresión de que "es rápido en mi máquina".

Las herramientas de auditoría del rendimiento web ayudan a medir el tiempo de carga, el tamaño de los recursos y la calidad de la operación fuera de línea. Las métricas de carga percibidas, la rapidez con la que el usuario ve algo útil en la pantalla, dicen más sobre la experiencia que los números técnicos aislados.

Lo ideal es incorporar esta medición en el flujo de entrega, de modo que las regresiones de rendimiento se detecten antes de que lleguen al usuario. Una aplicación que era rápida y lenta rara vez empeoraba de repente; Fue empeorando poco a poco, en entregas que nadie midió. La medición continua es lo que convierte el desempeño de suerte en control.

Los límites y trampas de PWA

Por mucho que defienda PWA, es importante reconocer sus límites para no vender ilusión. En algunos sistemas, el acceso a los recursos del dispositivo está incluso más restringido que en una aplicación nativa. Las notificaciones y el comportamiento de instalación varían según la plataforma. Y hay características de hardware que una PWA simplemente no alcanza con la misma profundidad.

Además, la flexibilidad de la propia web puede generar aplicaciones infladas. Sin disciplina, es fácil acumular bibliotecas, scripts y estilos que sobrecargan la carga. PWA no soluciona el código incorrecto; simplemente agrega una capa encima. El mal rendimiento en la base sigue siendo malo con la PWA encendida.

La mayor trampa es la complacencia. Debido a que el PWA "parece" una aplicación y se abre rápidamente después de la primera carga, es fácil dejar de medir y cuidar. La degradación llega silenciosamente, y cuando alguien se da cuenta, recuperar el rendimiento cuesta más de lo que hubiera costado mantenerlo.

PWA es una tecnología excelente para cualquiera que desee un alcance web con calidad de aplicación, siempre y cuando comprenda que esta calidad es el resultado de un cuidado continuo. La velocidad del primer día sólo se mantiene si hay disciplina todos los días.

Si su equipo mantiene una PWA y quiere estructurar una rutina de cuidado del desempeño, hay otros textos aquí en el blog sobre web, desempeño y desarrollo. Y si quieres hablar de tu producto, estoy a tu disposición.

Lea también