Angular 12 llega con un montón de mejoras

La actualización del framework basado en TypeScript de Google aporta mejoras en el rendimiento, el compilador, la validación de formularios, el servicio de lenguaje y mucho más.

Angular 12, la última actualización del popular framework basado en TypeScript de Google, ahora está disponible como versión de producción. Entre otras mejoras, la actualización deja de lado la compilación heredada de View Engine y la canalización de renderizado en favor de la
nueva tecnología Ivy.

Affiliated Ad

Publicado el 12 de mayo, Angular 12 está disponible en GitHub, después de numerosos lanzamientos beta y candidatos a lanzamiento. Angular 12 se acerca a una visión de «Ivy en todas partes» para el framework. Ivy se describe como una canalización de compilación y renderizado de próxima generación, que ofrece una compilación AOT (antes de tiempo) más rápida.

El equipo de Angular señaló que View Engine se eliminará en una versión futura. Las bibliotecas actuales que usan View Engine seguirán funcionando con las aplicaciones de Ivy, pero se recomienda a los autores de bibliotecas que comiencen la transición a Ivy.

También en Angular 12, el servicio de lenguaje basado en Ivy, que proporciona capacidades como finalización de código y sugerencias dentro de las plantillas, pasa de la suscripción a la activación de forma predeterminada. Otras funciones nuevas y mejoras en la versión 12:

  • Para mejorar el rendimiento de la CLI del compilador, se permite la compilación incremental en presencia de archivos fuente redirigidos.
  • Nullish coalescing, para escribir código más claro en clases de TypeScript, ahora funciona con plantillas de Angular.
  • Tanto Angular CDK como Angular Material exponen una nueva superficie de API Sass diseñada para el consumo con la nueva sintaxis @use. Al actualizar a Angular 12, una aplicación cambiará automáticamente a la nueva API mediante la actualización a través de ng update.
  • Existen herramientas disponibles para migrar ID de localización legacy a ID utilizando los últimos algoritmos.
  • Los componentes ahora admiten Sass en línea en el campo de estilos del decorador @component.
  • La ejecución de ng build ahora está predeterminada en producción, lo que ahorra pasos y ayuda a evitar el despliegue accidental de compilaciones de desarrollo.
  • El modo estricto, para detectar errores al principio del ciclo de desarrollo, está habilitado de forma predeterminada en la CLI.
  • El paquete de módulos Webpack 5 está listo para producción.
  • La compatibilidad con el navegador IE11 ha quedado deprecada.
  • Para el compilador, se ofrece soporte para transformar recursos de estilo de componente.
  • Para el servicio de idiomas, las terminaciones de propiedades de Angular se proporcionan solo en plantillas.
  • Para el compilador-cli, se introduce una opción de contexto para cualquier solicitud que permita suministrar datos arbitrarios de forma segura para los tipos. Esta característica aborda la necesidad de configurar interceptores en el cliente HTTP por solicitud.
  • Para las animaciones, los elementos DOM ahora se eliminan correctamente cuando se elimina la vista raíz.
  • Para mejorar el rendimiento, los métodos no utilizados se han eliminado de DomAdapter.
  • Se agrega un nuevo formato a localize-extract, llamado legacy-migrate, para generar un archivo JSON que se puede usar para asignar los ID de mensajes heredados a los canónicos.
  • Las comprobaciones nulas estrictas informarán sobre un fragmento potencialmente nulo.
  • El tipo de token APP-INITIALIZER se ha cambiado para reflejar con mayor precisión los tipos de valores de retorno que maneja Angular.
  • Se ha agregado soporte para deshabilitar animaciones a través de BrowserAnimationsModulewithConfig.
  • Se agregó la opción emitevent para FormArray y FormGroup.
  • Se ha agregado un control más preciso en routerLinkActiveOptions.
  • Se permiten implementaciones de salida de enrutador personalizadas.
  • Se agregó compatibilidad con TypeScript 4.2 y se eliminó la compatibilidad con TypeScript 4.0 y TypeScript 4.1.
  • Implementación del método appendAll() en HttpParams.
  • Para los formularios, se introducen validadores de mínimo y máximo.
  • Exportación de una lista de códigos de estado HTTP.
  • Se añade una función al Angular Language Service que permite acceder a las ubicaciones de los componentes que utilizan un archivo de plantilla.
  • Se añaden diagnósticos para sugerir que se activen las plantillas estrictas, proporcionando una forma para que el servidor de idiomas recupere los diagnósticos de las opciones del compilador.
  • Un parche que agrega una API para recuperar el bloque de verificación de tipo de plantilla para una plantilla, si existe, en una ubicación de archivo, y la selección del nodo TS en la TCB correspondiente al nodo de la plantilla en el que se realizó la solicitud de una TCB. Esto ayudará con la depuración.

También se incluyen una variedad de correcciones de errores que afectan al compilador, al compilador-cli, a la herramienta de compilación Bazel, al enrutador y a otras partes de Angular. Se puede encontrar una lista completa de cambios en GitHub. La línea anterior de Angular 11 debutó como un lanzamiento de producción en noviembre.

Puedes leer el artículo original en inglés en: https://www.infoworld.com/article/3607428/angular-12-arrives-with-pile-of-improvements.html

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *