Extensiones bonitas de Chrome que no ralentizan tu navegador
Las extensiones decorativas de navegador tienen una fama, y en gran parte es merecida: pesadas, parlanchinas e instaladas con una lista de permisos que nadie leyó. Y es una pena, porque la categoría es genuinamente divertida y todos esos problemas se pueden evitar.
Tres cosas que vale la pena comprobar
- La lista de permisos. Chrome la muestra antes de instalar. Storage es un archivo de preferencias. Tabs, cookies, history y webRequest son los que dejan a una extensión ver lo que navegas.
- Si toca el diseño de tu página. Una extensión que inserta elementos en el flujo del documento, o que mide posiciones en cada evento de scroll, puede hacer tartamudear una página fluida por poco que dibuje.
- A dónde manda peticiones. Una decoración con la pestaña de red ocupada está haciendo un segundo trabajo del que no te avisaron.
Por qué el diseño es lo que muerde
Leer una propiedad de diseño — la altura de un elemento, su posición en pantalla — obliga al navegador a terminar todo el trabajo de diseño pendiente antes de poder responder. Haz eso dentro de un manejador de scroll y le has pedido al navegador que se detenga a medir sesenta veces por segundo, en una página que estaba dibujando a medias.
Ese es el mecanismo detrás de la mayoría de las quejas de «esta extensión hace que el scroll vaya a saltos», y es invisible hasta que alguien lo perfila. La solución no tiene glamour: nunca leer el diseño durante el scroll, escribir solo transformaciones y dejar que el compositor mueva.
Cómo se ve eso aquí
scrolldog es una pequeña mascota de píxeles que corre por el borde de cada página a tu velocidad de scroll. Es también un ejemplo resuelto de las comprobaciones de arriba, porque tuvo que pasarlas para que se pudiera convivir con él:
- Dos permisos: storage y unlimitedStorage. Ni tabs, ni cookies, ni history, ni webRequest.
- Un permiso de host — api.scroll.dog — usado para comprobar una licencia, nunca para tocar la página en la que estás.
- La mascota vive en un carril fijo de tamaño cero y solo escribe una transformación CSS, así que el diseño de tu página nunca cambia.
- El scroll se escucha de forma pasiva y se reduce a una escritura por fotograma de animación.
- Un interruptor la quita de todas las pestañas abiertas al instante.
Nada de eso es presumir — es el mínimo. Una cosa cuyo único trabajo es ser agradable de mirar no tiene por qué hacer nada más lento.
Ver el perro