Saltar al contenido

Novedades más importantes de Angular 9

enero 15, 2020

Nuestro querido y amado Angular sigue evolucionando con el pasar de los años. La más reciente versión es Angular 9 e incluye algunas novedades muy interesantes. En este artículo vamos a enumerar algunas de ellas que considero son las más relevantes.

Debo acarar que Angular con cada versión siempre tiene muchos cambios y muchos de ellos no se contemplan a simple vista, hay muchos que se hacen de forma interna para mejorar el rendimiento y seguridad del Framework. No significa que no sean importantes, lo que sucede es que los usuarios no nos damos cuenta.

Aquí vamos a enumerar las que resaltan más y que incluyen funciones que podemos utilizar o que podremos sentir cuando trabajamos.

Internalización

Este es un concepto bastante interesante y que puede ser de mucha utilidad para los programadores que hacemos proyectos que pueden ser usados por personas de distintas partes del mundo. Básicamente es una forma bastante efectiva de cambiar el idioma de nuestra aplicación y controlarlo.

A groso modo les contaré que podemos crear un archivo en el que vamos a poner las palabras que queremos cambiar en cada idioma, por lo tanto habrá un archivo por idioma. Cuando la función está activada Angular analiza el idioma del usuario y le muestra la versión adaptada a su idioma y preferencia.

Próximamente haré un tutorial de cómo usar está función para que aprendas a usarlo y puedas hacer que tus aplicaciones están adaptadas para los idiomas que a ti te interese.

Render con Compilador Ivy

Angular a optado por cambiar su motor de renderizado (es decir el encargado de mostrar gráficamente el código, o mejor dicho, de generar el DOM del documento final a partir del código Angular). El anterior motor de render (Renderer2) no estaba nada mal, sin embargo el compilador Ivy es mucho mejor. Este motor se comenzó a utilizar en la versión 8, pero en la versión 9 se ha pulido.

Este motor de render nuevo ayuda a que las animaciones sean más fluidas y que el paquete final sea un poco más liviano. Es un cambio bastante drástico para el equipo de Angular y la verdad nadie se lo esperaba. El motos anterior estaba muy bien optimizado, pero sin duda Google de lo bueno siempre prefiere brindar lo mejor a pesar de que represente un trabajo adicional para ellos.

Directivas sin selector

En la versión 8 se perdió esta magnifica capacidad de Angular, poder usar las directivas sin selector, echemos un vistazo de esto:

export class BaseDir {
constructor(@Inject(ViewContainerRef) protected vcr: ViewContainerRef) {}
}

@Directive({
selector: '[child]',
})
export class ChildDir extends BaseDir {
// constructor heredado de BaseDir
} 

El motor de render anterior sí que soporta este patrón, pero sin la notación @directive identificando la clase de BaseDir como una directiva, el compilador Ivy no interpretaba la información sobre los parámetros del constructor.

Gracias a la forma en la que se ha mejorado la implementación del motor de render Ivy, en la nueva versión de Angular 9 ya podemos contar nuevamente con el uso de las Directivas sin selector.

Reducción de tamaña del bundle final

Uno de los retos de todos los Frameworks del mercado es reducir al máximo el bundle del compilado final, esto con el propósito de cargar más rápido en el navegador y crear una mejor experiencia de usuario. En esta versión se logró reducir el tamaña del bundle final, también gracias a la implementación del nuevo compilador Ivy.

Angular cada vez mejora un poco más, Google cada vez lo hace mejor y se nota que está 100% comprometido a hacer que Angular sea el mejor Framework de programación de aplicaciones web más importante del mundo.

La seguridad que nos ofrece y la forma tan robusta y ordenada en la que se trabaja en él, hace que sea mi preferido. Espero que este artículo les haya sido de utilidad. Un abrazo y hasta la próxima.