Google anunció recientemente el lanzamiento de Angular 13, su popular marco de aplicación de una sola página, continuando con el flujo constante de pequeñas mejoras que hemos visto desde el lanzamiento del motor Ivy en Angular 9.
Angular 13 proporciona una actualización de la API del componente que elimina la necesidad de usar la fábrica ComponentFactoryResolver. En cambio, ahora se pueden crear nuevos componentes usando ViewContainerRef.createComponent, reduciendo el código repetitivo necesario para crear componentes dinámicamente.
Además, el “View Engine” heredado que fue reemplazado por Ivy en Angular 9 finalmente se eliminó. El proceso se retrasó inicialmente para dar a los encargados de mantenimiento de la biblioteca la oportunidad de migrar al nuevo motor. El movimiento reducirá la dependencia del compilador de compatibilidad angular, que debería permitir compilaciones más rápidas en el futuro.
Angular 13 también ve la desaprobación de Internet Explorer 11. Si bien aún faltan varios meses para la fecha oficial de finalización de la vida útil de Internet Explorer, las bajas estadísticas de uso junto con la sobrecarga de mantenimiento impulsaron al equipo de Angular a proceder con una desaprobación anterior.
Se recomienda a los proyectos que aún admiten IE11 que continúen usando Angular 12, que recibirá soporte después de la fecha de finalización planificada de IE11.
En el frente de la compilación, la CLI de Angular ahora usará la caché de compilación persistente de forma predeterminada para los nuevos proyectos de Angular 13. En la mayoría de los casos, este cambio debería proporcionar mejoras en el tiempo de compilación de hasta un 68%.
Los proyectos existentes pueden habilitar la función realizando el siguiente cambio en la configuración de angular.json:
"cli": {
"cache": {
"enabled": true,
"path": ".cache",
"environment": "all"
}
}
Angular 13 también habilita el nuevo proceso de desmontaje para TestBed de forma predeterminada. Esta característica se introdujo en Angular 12.1.0. El nuevo proceso borra el DOM después de cada prueba, lo que da como resultado más pruebas independientes y una menor huella de memoria.
Los proyectos existentes pueden habilitar esta característica actualizando el método TestBed.initTestEnvironment con el siguiente código:
beforeEach(() => {
TestBed.resetTestEnvironment();
TestBed.initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting(),
{
teardown: { destroyAfterEach: true }
}
);
});
Finalmente, Angular 13 adopta TypeScript 4.4 y RxJS a 7.4. Si bien TypeScript se actualizará automáticamente para las aplicaciones existentes, RxJS deberá actualizarse manualmente, ya que incluye algunos cambios importantes .
Si bien la actualización de proyectos de Angular suele ser sencilla, se recomienda a los desarrolladores que utilicen la guía de actualización interactiva en https://update.angular.io/ .
Para el anuncio de lanzamiento completo, diríjase a la publicación del blog oficial de Angular .
Angular es un software de código abierto disponible bajo la licencia MIT. Las contribuciones son bienvenidas a través del repositorio de Angular GitHub .