Un nuevo enfoque está tomando forma en el desarrollo web, con una propuesta que busca ofrecer a los desarrolladores un mayor control sobre el rendimiento de las aplicaciones y sitios web mediante la gestión del contenido integrado. Esta iniciativa se centra en minimizar el impacto que cualquier contenido web embebido, como iframes de terceros o componentes compartidos, puede tener en el funcionamiento general de una aplicación.
Los problemas de rendimiento derivados del contenido embebido son comunes, especialmente cuando estas integraciones no se diseñan teniendo en cuenta su uso en otras plataformas. La posibilidad de acotar estos efectos es esencial para optimizar la experiencia del usuario y mejorar el funcionamiento de las aplicaciones.
La propuesta tiene dos objetivos fundamentales: por un lado, permitir que los desarrolladores controlen de manera sencilla el impacto en el rendimiento del contenido embebido, evitando el tedioso proceso de definir cada restricción individualmente; y por otro, brindar visibilidad sobre las violaciones de rendimiento, lo que permitirá a los desarrolladores entender mejor cómo el contenido embebido puede estar afectando la experiencia del usuario.
Para alcanzar estos objetivos, se sugieren nuevas configuraciones de Document Policy, que permitirán reportar las violaciones tanto al contenido embebedor como al contenido embebido, facilitando la detección y corrección de problemas. Las configuraciones propuestas incluyen:
- basic: Abarca las mejores prácticas de desarrollo web para asegurar el rendimiento, limitando activos sobredimensionados y recursos no comprimidos.
- early-script: Introduce restricciones en JavaScript para minimizar problemas de rendimiento antes de que el usuario interactúe con la aplicación.
- globals: Impone límites sobre el uso de recursos de medios y sistema durante la interacción.
- script: Establece restricciones estrictas en el JavaScript en ejecución, limitando tareas prolongadas que podrían afectar el hilo principal.
Las violaciones se reportarán a través de la API de Reporting, y los desarrolladores podrán optar por permitir que el navegador gestione estas infracciones de manera automática, como no renderizar activos excesivos o bloquear la carga de scripts que violen los límites establecidos.
Imaginemos el caso de una aplicación compleja que integra contenido en tiempo real mediante iframes. Si esta aplicación presenta un widget del clima que incluye animaciones o videos de alta definición que se reproducen automáticamente, se podría incrementar significativamente la carga en el dispositivo del usuario. Para mitigar estos efectos, los desarrolladores pueden colaborar con quienes crean el contenido embebido para seguir directrices que optimicen la carga.
Esta nueva propuesta representa un cambio significativo hacia la mejora del rendimiento en el entorno web, otorgando a los desarrolladores las herramientas necesarias para gestionar de forma más eficaz el contenido que se integra en sus aplicaciones. La comunidad de desarrolladores está invitada a aportar sus opiniones sobre esta propuesta, lo que podría ser un paso crucial para perfeccionar esta herramienta y, en última instancia, mejorar la experiencia general del usuario.
vía: Microsoft Windows blog