¿Qué es Ivy?

Clase 3 de 25Curso Profesional de Angular 8

Resumen

¿Qué es Ivy y qué significa para Angular?

Ivy es un nuevo motor de renderizado que ha revolucionado la manera en que Angular compila y ejecuta aplicaciones. Desarrollado por el equipo de Angular, Ivy está diseñado para reducir el tamaño de las aplicaciones, hacer que las compilaciones sean más rápidas y garantizar un cambio preciso en los datos. Ivy hace esto precompilando el código de Angular y eliminando el código que no es necesario. Así, optimiza no solo el tamaño de la aplicación sino también el rendimiento.

¿Cómo ha evolucionado el compilador de Angular?

A lo largo de su historia, Angular ha visto diferentes versiones de su compilador de renderizado. En la primera versión de Angular, se utilizó "Shadow DOM". Posteriormente, Angular evolucionó a R3, ofreciendo mejoras significativas en el proceso de compilación. Ahora, con Ivy, la eliminación de código muerto y la optimización del tamaño y rendimiento han avanzado notablemente.

¿Cómo optimiza Ivy el tamaño de una aplicación?

Ivy integra el tree-shaking, una técnica usada por empaquetadores como Webpack, que detecta automáticamente el código no utilizado en una aplicación para eliminarlo. Esta técnica reduce el tamaño de la aplicación al eliminar el código redundante y, con ello, mejora el rendimiento y reduce los tiempos de carga. Esto es especialmente relevante cuando se utilizan características o dependencias de Angular que no son necesarias para el proyecto en su fase de producción.

¿Cómo habilitar Ivy en un proyecto Angular?

Habilitar Ivy en un proyecto es un proceso sencillo, pero varía según el estado del proyecto. Si estás creando un nuevo proyecto con Angular 8, Ivy se puede habilitar fácilmente mediante una simple configuración en el tsconfig.json. Sin embargo, si tienes un proyecto en versiones anteriores y deseas migrar a Ivy, tendrás que hacer algunos ajustes más.

¿Cómo habilitar Ivy en proyectos nuevos?

  • Inicia un nuevo proyecto de Angular.
  • En el archivo tsconfig.json, habilita la opción de enableIvy.
{
  "compilerOptions": {
    ...
    "enableIvy": true
  }
}

¿Cómo habilitar Ivy en proyectos existentes?

  1. Actualiza el tsconfig.app.json y asegura que el campo enableIvy esté incluido bajo las opciones de Angular Compiler.
  2. Realiza una instalación de las dependencias necesarias y vuelve a compilar.
{
  "angularCompilerOptions": {
    ...
    "enableIvy": true
  }
}

Importante: Recuerda que desde Angular 9, Ivy es el compilador predeterminado para las aplicaciones. Por ende, actualizar a una versión más reciente de Angular simplifica estos pasos.

¿Qué considerar al compilar con Ivy para producción?

Es crucial optimizar el proyecto para producción. En Angular, este proceso se realiza comúnmente con comandos como ng build --prod. Ivy permite una optimización adicional facilitando la eliminación de dependencias innecesarias.

Al compilar, especialmente si es la primera vez que se usa Ivy, es natural experimentar tiempos de espera más largos debido a la reconfiguración completa del motor de renderizado hacia Ivy. No obstante, tras la primera compilación, todo se ajusta para futuras compilaciones, así que no hay de qué preocuparse.

Con Ivy, las aplicaciones no solo son más ligeras y rápidas, sino que también están mejor equipadas para el manejo de cambios y actualizaciones en el ecosistema Angular. Usar Ivy con confianza te asegura estar a la vanguardia del desarrollo en Angular. ¡Adelante, y sigue mejorando tus habilidades en Angular!