Cuando viajo, a menudo me encuentro con malas conexiones a Internet, lo que, como diseñador web, me hace pensar en los principios de diseño para resolver la velocidad de la web incluso con una mala conexión.
La práctica me ha dado algunos trucos útiles:
Por ejemplo, la página de acceso al CMS suele ser muy sencilla. ¿Realmente un simple formulario necesita descargar todo Bootstrap y otros frameworks CSS/JS? Vale la pena optimizar las páginas importantes y escribir código nativo.
Una vez que la página está completamente renderizada, tenemos unos segundos en los que el usuario rellena sus datos, y podemos descargar y almacenar en caché los estilos restantes en el navegador en segundo plano. Cuando el usuario se conecte, probablemente ya tendrá descargado Bootstrap (y si está en Edge, no lo tendrá...).
¡De verdad! El emoji tiene muchas ventajas prácticas:
A veces pongo los estilos CSS importantes que definen el diseño de la página y la maquetación básica directamente en el HTML. Pongo un límite de 1 KB, en el que intento meter lo máximo posible. La desventaja de este enfoque es que los estilos tienen que ser transferidos en cada solicitud y no pueden ser almacenados en caché, por otro lado se descargan incomparablemente más rápido que una imagen.
No soy un experto en velocidad de carga, Martin Michalek te lo diría mejor.
Siempre uso ajax para recuperar contenido poco importante o lento. Aumenta un poco los requisitos tecnológicos de la aplicación, pero me lo puedo permitir.
Un ejemplo de un buen lugar para usar ajax es casi todo en la administración. Muy a menudo hay muchos datos que recuperar, pero el usuario no está interesado en todo. Cuando el usuario sólo tiene descargado un cliente javascript delgado y todos los datos se obtienen a través de Vue y json, sólo se descarga la cantidad mínima de datos y las respuestas son instantáneas.
Cómo hacer esto en Vue: https://vue.baraja.cz/api-a-ajax-ve-vue-js
En el backend, utilizo la biblioteca de Nette: https://github.com/baraja-core/structured-api
Para la distribución de contenido estático, recomiendo utilizar una CDN para todo tipo de sitios. Si no sabes cómo configurar una CDN, al menos utiliza Cloudflare en modo proxy. El contenido estático se almacenará automáticamente en la caché basándose en las cabeceras HTTP. No todos los proveedores de alojamiento tienen Pops bien configurados, y para las rutas largas esto le ahorrará cientos de milisegundos en cada petición.
Uno de mis juniors puso hace poco una imagen PNG en la página principal del sitio, que contenía una foto y ocupaba 3 MB. Dijo que estaba bien porque la página se cargaba rápidamente en su conexión (lo hace en la óptica de su casa, ¿no?), además dijo que hoy en día transferimos muchos datos, como el vídeo.
Yo estoy chapado a la antigua en esto y optimizo lo que puedo.
Fotos a JPG, o mejor a WEBP. Pero guardar una imagen en JPG no significa nada, hay que pasarla por un servicio de optimización: https://tinyjpg.com
Si tienes imágenes en Git, esta herramienta puede comprimirlas automáticamente y enviar un pull request: https://imgbot.net. Cuando se añade una nueva imagen, vuelve a enviar el PR.
Si necesitas comprimir miles de imágenes (como toda una galería de productos en un sitio web), uso una aplicación de escritorio para Mac para hacerlo: https://imageoptim.com/mac
Comprimir las imágenes adecuadamente suele ser lo que más datos ahorra. A veces incluso el 50%.
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | es