Optimización de Carga de Chunks con Preloading en Angular

Clase 69 de 71Curso de Angular: Creación de Aplicaciones Web

Resumen

¿Por qué es crucial optimizar la carga en aplicaciones Angular?

En el mundo del desarrollo web, optimizar el tiempo de carga de nuestra aplicación es esencial para la experiencia del usuario. Utilizar técnicas como la generación de chunks a nivel de routing en Angular puede mejorar significativamente el tiempo de carga inicial. Sin embargo, debemos considerar cómo la red del usuario impacta este proceso, ya que cada fragmento de JavaScript necesita pasarse por cuatro pasos: descarga, análisis, compilación y ejecución.

¿Cuáles son los desafíos de carga en redes lentas?

Cuando nos enfrentamos a usuarios conectados a redes lentas como 3G, el tiempo de carga de cada ruta específica puede ser considerable, dado que cada chunk de JavaScript tiene que pasar por los mismos pasos de descarga y ejecución, lo cual puede causar una percepción de lentitud. Sin embargo, una vez descargado un chunk, el navegador no necesita repetir el proceso a menos que los archivos se actualicen.

¿Qué es el pre-fishing y cómo puede ayudar?

El pre-fishing es una técnica utilizada en Angular para mejorar la experiencia del usuario al cargar anticipadamente fragmentos de la aplicación cuando ya ha terminado la carga inicial. Esta técnica es ideal si tu aplicación tiene usuarios con posibles conexiones lentas. Angular ofrece una opción de configuración llamada withPreloading, que puedes encontrar en el archivo app.config, permitiendo que, una vez que se complete la carga inicial de la página principal, los demás módulos se pre-carguen durante el tiempo de inactividad.

import { RouterModule } from '@angular/router';
import { NgModule } from '@angular/core';

@NgModule({
  imports: [
    RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
  ],
  exports: [RouterModule]
})
export class AppRoutingModule { }

¿Cómo habilitar el pre-fishing en Angular?

Para implementar esta técnica, sigue estos pasos en Angular:

  1. Abre el archivo app.config en tu proyecto.
  2. Busca la función withPreloading.
  3. Configura withPreloading añadiendo PreloadAllModules como técnica de precarga.
  4. Coloca esta configuración junto a otros parámetros de rutas en el archivo de configuración.

¡Al aplicar esta técnica, aseguras que los usuarios disfruten de una experiencia más fluida, aprovechando el tiempo de inactividad de la red y pre-cargando los módulos necesarios sin que el usuario lo perciba!

Esta guía es solo el comienzo para optimizar tus aplicaciones Angular. Continúa experimentando y adaptando soluciones para asegurarte de que todos los usuarios, sin importar su conexión, tengan la mejor experiencia posible.