Como ya estaba pronosticado, antes de finalizar el año ya tenemos la versión de Angular 5 liberada. Pero lo que realmente nos vamos y nos van a plantear en los próximos días, es ¿qué cambios podremos encontrar en esta nueva versión? Tendremos que cambiar mucho nuestro código de la versión 4 a la 5? ¿Qué mejoras trae?
Llevamos con la primera beta desde Septiembre, en algunos casos sin prestar demasiada atención y en otros, utilizando los consejos que nos iban dando en diferentes foros de discusión y difusión de Angular, esperando la versión estable de Angular v5. Esta nueva versión, solo es una pequeña evolución de esta plataforma para desarrollar. Para aquellos asustadizos, no conlleva tantos cambios como hubo de Angularjs a Angular.
En el caso de que deseemos ir directamente a la fuente, para obtener todos los detalles, podemos hacerlo a través de su Github. Teniendo cuidado con la documentación original, porque puede que no esté toda actualizada, como pasa con Angular Material.
¿Pero qué mejoras trae?
- Correción de bugs: animations, bazel, common, compiler, service-workers…
- Mejora de performance
- Facilidad para las Progressive Web Apps
Mejora de la optimización del código
- Angular Material más compatible con el server-side rendering
- Mejora de los filtros (pipes) para la internacionalización de números, fecha y monedas
- Quitan más pollifyls, ReflectiveInjector reemplazado por StaticInjector
- Updated Httpclient
- Validaciones y cambios de valor en cada evento de input
- Se han agregado Router hooks para el seguimiento de los ciclos del router desde el comienzo de los guards en ejecución hasta la finalización de la activación.
¿Qué cambios rompen compatibilidad? (Breaking changes)
- compiler: La función ngGetConentSelectors(), se ha deprecado en Angular 4.0. Use ComponentFactory.ngContentSelectors en su lugar
- Angular compiler ahora requiere TypeScript 2.4.x.
- router: RouterOutlet properties locationInjector y locationFactoryResolver han sido deprecados
- core: OpaqueToken deprecado. Usa InjectionToken en su lugar
- compiler: la opción enableLegacyTemplate esta desactivada. Usa <ng-template>. La opción enableLegacyTemplate y el <template> serán eliminados en la versión v6.
¿Cómo puedo actualizar mi versión?
Google ha preparado una guía para ello.
Para la próxima versión de Angular, deberemos esperar hasta como mínimo Marzo del 2018. Aunque posiblemente, nos irán aconsejando qué y cómo debemos seguir desarrollando con angular, para facilitarnos las futuras evoluciones.
Bibliografia:
https://github.com/angular/angular
https://blog.angularindepth.com/angular-introduces-staticinjector-should-you-care-4e059eca030c
https://jaxenter.com/road-to-angular-5-133253.html