¡Angular 17: Un Renacimiento Impresionante!

Introducción

¡Estoy emocionado por compartir las increíbles novedades de Angular 17! Desde la versión 16 con la llegada de los Standalone components y Signals, Angular no ha parado de sorprenderme. El renacimiento e introducción a Angular con la versión 17 es impresionante.

Novedades

⚡ Flujo de Control Mejorado:

Angular 17 introduce una nueva sintaxis para estructuras de control como @Switch, @If, y @For. Esta sintaxis busca mejorar la experiencia de desarrollo, haciendo que el código sea más ergonómico y simplificado para nuevos desarrolladores.

  //@if
  @if (showHello) {
    <h2>Hello</h2>
  } 
  @else if (showGoodbye) {
    <h2>Goodbye</h2>
  } 
  @else {
    <h2>See you later</h2>
  }

  //@for
  @for (item of items; track item.id) {
    {{ item.name }}
  }

  //@switch
  @switch (color) {
    @case ("red") {
      <div>Red</div>
    }
    @case ("blue") {
      <div>Blue</div>
    }
  }

🔄 Carga Diferida a Nivel de Componente ( @Defer Deferrable views):

Mi característica favorita. Evolución del lazy loading que permite hacer prefetch automático de componentes.

La sintaxis para utilizar esta función es sencilla y declarativa. Ofrece un control avanzado, gestionando errores, mostrando placeholders, y activando acciones según distintos triggers, como tiempo de carga o interacciones.

Al cargar selectivamente componentes, esta característica tiene el potencial de mejorar significativamente el rendimiento de la página web.

<div #greeting>Hello!</div>

@defer (on hover(greeting)) {
  <calendar-cmp />
} @placeholder {
  <div>Calendar placeholder</div>
}

🚀 Mejoras en el Entorno de Desarrollo (Vite + esbuild):

Se introduce el uso de Vite como entorno de desarrollo, brindando un manejo más eficiente del “Hot Reloading” y una recarga instantánea, mejorando significativamente la experiencia del desarrollador. Además con el uso de esbuild como enpaquetador se mejora significativamente la velocidad de construcción de la aplicación.


🖥️ Server Side Rendering (SSR) Mejorado:

Angular ahora integra el SSR como parte fundamental del framework, ofreciendo un equilibrio óptimo entre rendimiento y funcionalidad. ¡Una excelente noticia para aquellos que buscan mejorar el SEO y la velocidad de carga!

Para crear una nueva aplicación con SSR:

ng new --ssr

Para agregar SSR a un proyecto existente, use el comando Angular CLI ng add:

ng add @angular/ssr

🌐 Retrocompatibilidad Garantizada:

Angular 17 sigue siendo fiel a sus raíces, permitiendo la retrocompatibilidad con módulos y sintaxis antiguas. Esto facilita la transición para proyectos existentes y muestra el compromiso con la estabilidad.

ng update @angular/core@17

Recursos adicionales


Estos son solo algunos ejemplos para ilustrar las nuevas características. Te recomiendo explorar la documentación oficial de Angular para obtener más información y ejemplos en profundidad.

© 2024 Agustín Jiménez Polonio.