¡Hola a todos! ![]()
Esta tarde he estado trabajando en la optimización de la carga inicial del frontend, que a veces puede ser un poco lenta en móvil cuando la red es mala, creo.
Mejoras realizadas:
Carga dinámica de librerías pesadas :
- HLS.js (streaming de cámara)
- Leaflet (mapa del mundo)
- ApexChart (gráficos)
Estas librerías ahora solo se cargan cuando son necesarias, aligerando el bundle principal.
Optimización del código dividido :
Algunas rutas no estaban correctamente separadas, lo que pesaba innecesariamente la carga al poner el código de estas rutas en el bundle JS principal.
Resultado:
El bundle JS principal pasa de 2,94 MB a 694 KB, reduciendo significativamente el tiempo de carga inicial.
Por supuesto, nada es mágico, el tamaño retirado del bundle principal se añade al bundle de cada ruta, pero la idea es que ahora solo se carga lo necesario.
Mi objetivo es tener la carga del panel de control lo más rápida posible, porque cuando llego a Gladys en mi teléfono, a menudo es solo para apagar una lámpara, y si la carga se ralentiza solo porque el frontend está cargando cosas innecesarias, es una pena ![]()
¡Prueben y den sus opiniones!
He generado un build de Gladys Plus con estas mejoras:
https://dynamically-import-librairie.gladys-plus.pages.dev
¡Tengo ganas de conocer sus impresiones! ![]()