La versión 12 del popular framework de Angular ya está disponible, eso significa que podremos actualizar nuestros proyectos para disfrutar de nuevas funciones. Como siempre en Codize, les traemos las novedades más resonantes de esta versión, destacando aquellas features que nos resultan más interesantes.
Versión menor de la 11
A la versión 12 la acompaña una versión menor de la 11 con mejoras en la performance, de esta forma podremos mantener durante un tiempo más nuestros proyectos en la 11, y los nuevos proyectos en 12 se verán al mismo tiempo beneficiados. Por el mismo motivo, mejoran los mensajes de información de errores.
Chequeo estricto del código por defecto
Esta es una función simple, pero que todo desarrollador Angular debe conocer a día de hoy. Al crear un nuevo proyecto este estará en modo estricto, es decir, Angular se negará a compilar si el código no cumple con las recomendaciones actuales de desarrollo. Este modo está presente hace tiempo, pero antes debíamos activarlo con la flag strict, ahora vendrá por defecto al usar el Angular CLI. De esta forma, se promete acompañar al desarrollador en mejoras sustanciales de su código.
Soporte para Webpack 5 en la compilación de Producción
Angular 12 utilizará Webpack 5 como base para compilar en producción. La última versión de Webpack, liberada en Octubre del 2020, promete ahorrar tiempo y mejorar el rendimiento al momento de compilar; ventajas que sin dudas Angular sabrá aprovechar. Para ampliar la información, la versión 4 de Webpack había sido liberada en 2018.
Introducción de ng-linker
Si han estado siguiendo la historia de Ivy, les resultará conocido leer el término ngcc. Dicho paquete era un compilador de compatibilidad para hacer que la transición al nuevo motor sea menos dolorosa. Básicamente, permitía que los paquetes realizados en View Engine fueran compatibles con Angular. ¿Que es entonces ng-linker? Un nuevo concepto que permite publicar librerías para el motor Ivy como paquetes de NPM, aprovechando de esa manera toda la potencia del gestor de paquetes para detectar problemas de compatibilidad. Una buena noticias para todos los desarrolladores que trabajan haciendo librerías para Angular.
Mejora la velocidad en test
Han implementado la deshabilitación de los módulos de test y del propio entorno luego de cada testeo; esto aumentará significativamente la velocidad a la cual se realizan los test.
Soporte para inline SCSS en los templates de Angular en Componentes
Una buena noticia para los diseñadores que utilizan Angular, a partir de la versión 12 podrá utilizarse SCSS directamente en el inline del componente en lugar de usarlo como un archivo extra. Sigue siendo recomendable que los estilos estén separados del Componente, pero es una función interesante para probar componentes.
Nueva versión de Ivy
Finalmente, Angular presenta una nueva versión de Ivy, todavía no hay tanta información al respecto pero parece centrarse en la corrección de bugs especialmente en proyectos con un bundle muy grande, así como también busca ser un motor más compacto.