Code splitting a nivel de rutas

Clase 6 de 23Curso de Rendimiento en Angular

Resumen

¿Cómo optimizar la carga y precarga de módulos en Angular?

Al trabajar con aplicaciones Angular, una de las preocupaciones más comunes es cómo lograr una carga y precarga más eficiente de los módulos. Aunque los desarrolladores tienden a optimizar archivos y librerías, la precarga óptima de módulos en aplicaciones grandes sigue siendo un desafío crucial. En esta sección, exploraremos cómo fragmentar adecuadamente nuestra aplicación para mejorar el rendimiento de la carga inicial.

¿Por qué es importante la precarga de módulos?

La precarga de módulos ayuda a mejorar la experiencia del usuario al reducir el tiempo de espera cuando navegamos entre diferentes partes de una aplicación. Cuando un sitio web carga inicialmente, solo se cargan los módulos necesarios para la vista actual. Sin embargo, mediante la técnica de precarga, podemos cargar de antemano otros módulos, lo cual acelera las subsecuentes navegaciones dentro de la aplicación.

¿Cómo funciona la técnica de precarga predeterminada en Angular?

Angular ofrece una técnica de precarga predeterminada conocida como PreloadAllModules. Con esta técnica:

  1. Fragmentación de la Aplicación: Se fragmenta la aplicación para evitar que todo el contenido esté adjunto al archivo principal main.js.
  2. Carga de Módulos: Los módulos necesarios se cargan al inicio, pero los otros módulos como products, account, admin, etc., se precargan una vez realizada la carga inicial.
  3. Optimización de Recursos: Aunque los archivos principales son pesados, la precarga posterior permite que los módulos adicionales estén disponibles rápidamente.

¿Cuáles son las limitaciones de PreloadAllModules?

A pesar de su practicidad, PreloadAllModules tiene limitaciones:

  • Consumo de Datos: Si una aplicación crece y tiene muchos módulos, precargarlos todos a la vez puede consumir demasiados datos.
  • Uso Ineficiente: Puede resultar ineficiente si se precargan módulos que no son necesarios para el usuario hasta mucho más tarde.

Estrategias adicionales para optimizar la precarga de módulos

  1. Carga condicional: Implementar condiciones para precargar solo los módulos que realmente se necesitan en función de la ruta o la lógica del usuario.
  2. Control de versiones de la aplicación: Supervisar continuamente las necesidades de la aplicación a medida que crece para ajustar estrategias de carga.
  3. Pruebas de rendimiento: Realizar pruebas de carga en redes lentas para identificar dónde se pueden hacer optimizaciones adicionales.

Importancia de optimizar correctamente y evitar malas prácticas

Existe una tendencia entre los desarrolladores a quedarse solo con las técnicas de precarga predefinidas. Es vital entender que estas técnicas no son soluciones universales y que se deben adaptar dependiendo del tamaño y las necesidades específicas de cada aplicación. No debemos caer en la trampa de precargar módulos innecesarios porque esto puede resultar en un consumo innecesario de datos y un pobre rendimiento de la aplicación.

En las siguientes secciones de nuestro aprendizaje, exploraremos técnicas más avanzadas de precarga, iterando sobre esta base para lograr una aplicación más robusta y eficiente. La optimización siempre será un proceso continuo y modular, lo que nos permitirá adaptar y mejorar nuestras aplicaciones conforme estas van creciendo y cambiando.