- Se estabilizan las principales API relacionadas con la reactividad (reactivity) y se presenta Zoneless como vista previa para desarrolladores
- La experiencia de depuración y la eficiencia de desarrollo mejoran de forma importante gracias a la integración con Chrome DevTools, entre otras mejoras
- Se ofrece soporte para desarrollo con GenAI, se introduce llms.txt y se publican guías y ejemplos de código abierto para crear apps de IA
- NgIf, NgFor y NgSwitch quedan oficialmente obsoletos y se recomienda migrar al control flow integrado
- Arranca un nuevo proyecto para elegir la mascota oficial de Angular mediante votación de la comunidad
Características principales de Angular v20
- En los últimos años, Angular ha impulsado cambios importantes con la reactividad basada en Signals y las apps Zoneless
- En Angular v20, el enfoque está puesto en la estabilidad de las funciones en desarrollo y en mejorar la experiencia de los desarrolladores
Estabilización de las funciones de reactividad
- Las API de Signals, computed, input y view queries entran en fase estable
- Las API effect, linkedSignal y toSignal también se estabilizan, lo que permite una gestión confiable del estado asíncrono
- Se comparten casos de éxito en servicios a gran escala como Google y YouTube, incluyendo una mejora del 35% en la latencia de entrada
Nuevas API experimentales: resource, httpResource
- La API resource facilita las solicitudes asíncronas y el manejo de datos en streaming según cambien los signals
- httpResource ofrece soporte para solicitudes HTTP basadas en signals, con uso directo de los resultados desde un signal
- También permite gestionar de forma simple con signals distintos patrones de datos en streaming, como WebSocket
Vista previa para desarrolladores de Zoneless
- En entornos SSR, incorpora manejadores predeterminados de Node.js para unhandledRejection y uncaughtException
- En el cliente, se puede habilitar la escucha global de errores con provideBrowserGlobalErrorListeners
- Se ofrece una guía para quitar el polyfill zone.js de angular.json y migrar al modo zoneless
Mejoras en server-side rendering
- Incremental hydration y los modos de renderizado por ruta pasan a estado estable
- Solo la UI necesaria se descarga e hidrata al entrar en el viewport, minimizando el tráfico de JavaScript
- Es posible configurar por ruta distintos modos de renderizado como SSR, CSR o Prerender
Mejoras en experiencia del desarrollador y productividad
- En colaboración con Chrome DevTools, se ofrece un track de rendimiento específico para Angular que permite observar en tiempo real el renderizado interno del framework, eventos y change detection
- Se mejoran las API para creación dinámica con createComponent, aplicación de directivas y bindings basados en signals
- En plantillas se agrega soporte para el operador exponencial(
**), el operador in y los template literals sin tag
- Se fortalecen las capacidades de diagnóstico para casos como no invocar @for trackFn, mal uso de nullish coalescing y falta de entradas en directivas estructurales
Mejoras en la guía de estilos y host bindings
- La guía de estilos se simplifica y moderniza con base en 10 años de casos reales
- Ya no se generan por defecto sufijos en nombres de archivos o clases, y se recomienda usar el objeto host en lugar de HostBinding/HostListener
- Se añade la opción typeCheckHostBindings para detectar errores de binding en tiempo real
Mejoras en DevTools, entorno de pruebas y Angular Material
- Angular DevTools añade funciones de depuración para incremental hydration y deferrable view
- Como alternativa a Karma, se incorpora soporte para vitest, además de modo watch y pruebas en navegador de forma experimental
- El componente de botón de Material se alinea con la especificación M3, se ajusta la terminología y mejora la calidad en animaciones y control de movimiento
Soporte para GenAI y LLM
- Se introduce llms.txt para que los LLM aprendan código Angular actualizado, junto con muestras y guías open source
- Se publican guías de integración con Genkit y Vertex AI, sesiones prácticas en vivo y mejores prácticas
Adopción del control flow integrado y desuso de directivas estructurales
- El control flow integrado, introducido en v17, destaca por su intuición, seguridad de tipos y rendimiento
- *ngIf, *ngFor y *ngSwitch se eliminarán por completo en v22, y se ofrece un schematic para migrar el código
Proyecto de mascota oficial de Angular
- Se presentan candidatos para una mascota oficial que refuerce la identidad de Angular y su valor simbólico para la comunidad, junto con un RFC abierto
- Entre las propuestas están una figura con forma de escudo inspirada en el logo y un personaje Anglerfish
- La selección final se hará con votación y comentarios de la comunidad, y también se podrán proponer nombres
Hoja de ruta futura
- En v20 se pulen y estabilizan funciones de gran escala como reactividad, zoneless e incremental hydration
- Ya se preparan los próximos grandes proyectos, como Selectorless, signal-forms, mejoras en pruebas unitarias y la mascota
- La dirección futura se definirá recogiendo activamente la opinión de la comunidad
Aún no hay comentarios.