(+34) 673 566 782 - (+34) 960 653 052 formacion@imaginagroup.com

Angular 8 ya está aquí y estas son sus novedades

La actualización 8 de Angular añade una gran cantidad de funcionalidades para navegadores modernos y mejora de rutas.

Angular Router

Se añade un modo de retrocompatibilidad para simplificar la actualización del path de proyectos grandes, permitiendo usar $route para los lazy loadings de AngularJS.

Carga Diferencial de JavaScript

Generar un proyecto con el CLI producirá paquetes de Javascript antiguo (ES2015) y moderno (ES2015+), esto ayudará a los navegadores modernos a cargar más deprisa las páginas al tener ya el compilador para ES2015+.

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.

CLI

Se ha agregado soporte para tokenizar un subconjunto de una cadena de entrada y tokenizar cadenas de escape. CLI ya no soporta símbolos externos por defecto.

CSS

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.

Ivy

Con la versión 8 vas a poder elegir entre el motor Ivy o el View Engine clásico para generar los proyectos, aunque Ivy no será viable para todo los usos, ya que su lanzamiento definitivo será en versiones posteriores.

Las ventajas de Ivy en este versión son:

  • Hacer que el código angular sea más fácil de depurar, incluso a medida que las aplicaciones crecen.
  • Mejora de la comprobación de tipos de plantillas.
  • Mejora de la retrocompatibilidad.

Para comprobar estos añadidos podemos realizar un proyecto de Angular 8, para descargarlo, como aún está en RC, que es el último estado del desarrollo antes del final utilizamos el comando:

npm install -g @angular/cli@next

Y para iniciar el proyecto debemos añadir enable-ivy al final del comando para iniciar el proyecto, ya que esto era una característica opcional:

ng new ivy-app --enable-ivy

Una vez creado el proyecto podemos ir al archivo tsconfig.app.json y veremos que dentro de angularCompilerOptions, la llave enableIvy está asociada a true, es decir que está activada, también podemos cambiarla por false si queremos volver a nuestro View Engine clásico en cualquier momento.

"angularCompilerOptions": {
   "enableIvy": true
 }

A continuación,  iniciamos el proyecto de prueba con el siguiente comando dentro del directorio:

ng serve

Ahora podemos observar que el código fuente del navegador que los hay algunos imports que tienen el atributo nomodule, esto significa que los navegadores que no soportan ES2015+ cargan ese import, mientras que los demás no lo necesitan al interpretar ES2015+ de manera nativa.

Esto se puede configurar en el archivo browserlist, cuya configuración por defecto es la siguiente:

last 2 versions
Firefox ESR
Chrome 41 # Support for Googlebot<
not dead
not IE 9-11 # For IE 9-11 support, remove 'not'.

Que quiere decir que acepta las últimas dos versiones de cada navegador, además Chrome 41, Firefox ESR exceptuando Internet Explorer 9 y 11.

Si quieres aprender más recuerda que tiene estos cursos con nosotros…

Uso de cookies: Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies

ACEPTAR
Aviso de cookies