Novedades en Angular 8
Tags: angular, spanish, typescript, news
Published: 2019-06-08 08:29:09

El futuro está aquí a la vuelta de la esquina, Debido al trabajo activo de la comunidad de angular, Angular 8 fue lanzado oficialmente el 28 de mayo y se planea que en Octubre/Noviembre de 2019 sea lanzado oficialmente Angular 9, podemos tener un avance de las cosas que veremos en las nuevas versiones de Angular. 
Puedes revisar las versiones que tendrán soporte en la página oficial:

https://angular.io/guide/releases

A continuación una lista con lo nuevo que veremos en angular 8

###**Para las rutas**:
Se ha agregado una opción de navegación basada en hash a setUpLocationSync.

Con este cambio, los desarrolladores ahora pueden pasar una opción a setUpLocationSync para garantizar que los cambios de ubicación se ejecuten en aplicaciones basadas en hash.

###**En el núcleo Angular**:
Los usuarios ahora pueden definir el tiempo de las consultas de ViewChild / ContentChild. 

Anteriormente, una inconsistencia en el tiempo de resolución podría causar confusión y el código que dependía del resultado de una consulta podría dejar de funcionar.

###**En el compilador**:
Se ha agregado soporte para tokenizar un subconjunto de una cadena de entrada y tokenizar cadenas de escape.
El compilador-cli ya no soporta símbolos externos por defecto.

###**En el editor de estilos**:
Con el respaldo de SASS para Bazel, las reglas se agregan al área de trabajo para un proyecto que requiere la extensión SASS a CSS. 

Con SASS, los desarrolladores pueden escribir estilos visuales para un sitio web en un lenguaje más avanzado que se compila en CSS.

Se ha implementado una corrección de errores en la que se ha aumentado el límite de memoria de nodos para ng-module para evitar problemas de memoria insuficiente con módulos grandes. 

Cuando la memoria no se libera correctamente o un proceso continúa usando más y más, puede producirse un fallo en el proceso.

###**Mejoras de rendimiento en procesamiento de imágenes**:
El peso de las imágenes son más pequeñas por utilización de pngcrsh, un optimizador que hace que las imágenes sean más pequeñas para todos los archivos PNG.

###**Cambios del api pública**:
Createinjector() es una API para el renderizador Ivy planificado, que se presentará en forma beta a finales de este año. 
Los planes requieren reexportar la API cuando se lance Ivy.

###**Cambios en la sintaxis**:
Coherencia de las comprobaciones de typeof, en las que la secuencia estrictamente no es igual a nula seguida por el valor de typeof == 'objeto' se utiliza cuando se prueba si el valor es un objeto. 

Esto se está haciendo porque no tiene sentido usar doble igual con nulo porque undefined se descarta mediante la comprobación de tipo. 

La mejora también evitaría una verificación innecesaria de ToBoolean.
El transformador del compilador de TypeScript, ngtsc, se expone como un complemento, lo que permite el conectar ngtsc en un binario de compilación de TypeScript existente.

###**Cambios del compilador CLI** :
Los archivos SASS/Less ( Leaner Style Sheets) se resuelven en entradas .css.

###**Cambios en los formularios**:
El control y los controles descendientes se pueden marcar como tocados. 
Angular 8.0 exporta las directivas NumberValueAccessor y RangeValueAccessor.

###**Cambios en rendimento**:
Para mejorar el rendimiento de @angular/platform-server, Angular 8.0 usa una instancia compartida de DomElementSchemaRegistry. 

Esto soluciona un problema en el que ServerRendererFactory2 crea una nueva instancia de DomElementSchemaRegistry para cada solicitud, lo cual es muy costoso. 

La reutilización de una sola instancia evita la sobrecarga por solicitud.
Angular 8 beta también incluye correcciones de errores para Bazel, incluyendo una en la que un proyecto creado por los esquemas no se compilaría si el proyecto contuviera un módulo de enrutamiento.

###**El renderizador Ivy está destinado a**:
+ Proporcionar paquetes más pequeños y un mejor rendimiento de inicio para que las aplicaciones se carguen rápidamente, incluso en conexiones móviles lentas.

+ Hacer que el código angular sea más fácil de depurar, incluso a medida que las aplicaciones crecen.

+ Mayor velocidad de tiempos de reconstrucción.

+ Mejora de la comprobación de tipos de plantillas.

+ En una futura versión beta, los desarrolladores podrán cambiar entre la compilación de Ivy y View Engine y los pipes de renderizado en un proyecto.

+ Los desarrolladores podrán identificar problemas con las dependencias y ayudar a los constructores de Angular a mejorar la compatibilidad, Pero Ivy no estará lista para todos los casos de uso.

Se planea un lanzamiento completo de Ivy para Angular 9, que se espera para el otoño de 2019.

###**Otras nuevas característica planeadas para Angular 8.0 podrían incluir**:
Carga diferencial de JavaScript en la línea de comandos (CLI) que podrá producir paquetes de JavaScript tanto heredados como modernos (ECMA 2015 y posteriores) como parte del proceso de compilación.

Estos se cargarán de forma diferente en el lado del cliente para mejorar la velocidad de carga y el tiempo para interactivos (TTI) para los navegadores modernos.

Un modo de compatibilidad con versiones anteriores para el enrutador Angular para simplificar las actualizaciones para proyectos grandes.

###**¿Quieres probarlo por ti mismo? Puedes hacerlo aquí**:
solo usa el comando 
```
npm install -g @angular/cli
```
el cual instalar la version mas reciente de angular-cli  el cual el dia que escribo este post es 8.0.0