Planes para Angular 8.0 e Ivy

Cada semana tenemos la pregunta: "¿Cuándo estará listo Ivy?" Es hora de decirle cómo están las cosas con la versión 8.0, así como compartir con usted los planes para recordar y lanzar el motor Ivy.


En la octava versión, lanzada en el segundo trimestre de este año, nos gustaría presentar la posibilidad de inclusión opcional de la versión preliminar de Ivy (Ivy Preview).



Lo nuevo en la versión 8.0


Si bien la mayor parte de nuestro equipo se ha adelantado al desarrollo, estamos listos para presentar varias actualizaciones para la versión 8.0, en la que estamos trabajando muy duro. Vale la pena señalar que algunas características en la versión final pueden diferir de las descritas a continuación.


  • Carga diferenciada de JavaScript moderno.
    La CLI ahora creará paquetes de estándares JavaScript obsoletos (ES5) y modernos (ES2015 +) como parte del proceso de compilación, que se cargarán en el lado del cliente según el navegador, reduciendo así la velocidad y el tiempo de descarga hasta la primera interacción en los navegadores modernos. Esta funcionalidad fue desarrollada conjuntamente con Manfred Steyer y se basa en su proyecto ngx-build-modern .
  • Posibilidad de conectar Ivy Preview.
    Evalúe cómo funcionará su aplicación con Ivy y cuéntenos sus impresiones para que podamos hacer los ajustes necesarios a la versión final.
  • Compatibilidad total con versiones anteriores del enrutador angular.
    Hemos agregado el modo de compatibilidad con versiones anteriores, que simplificará el proceso de actualización de grandes proyectos. Será más fácil para los desarrolladores actualizar a Angular al permitir la carga demorada de partes de aplicaciones AngularJS utilizando la API $ route.
  • Agrupación mejorada de Web Worker.
    Los trabajadores web son una excelente manera de escribir código que se ejecuta en un hilo separado, lo que acelera el trabajo y mejora el paralelismo de la aplicación. A petición de muchos desarrolladores, la interfaz de línea de comandos admitirá la agrupación de trabajadores web.
  • Envío de datos de uso (opcional).
    Agregaremos telemetría a la interfaz de línea de comandos para comprender mejor las necesidades de los desarrolladores. Con su consentimiento, recopilaremos datos anónimos, como los comandos que usa o la velocidad de compilación. Cuanta más información tengamos sobre cómo los desarrolladores usan Angular, mejor podremos hacer nuestro producto.
  • Actualización de dependencia.
    Como siempre, actualizaremos las dependencias, en particular TypeScript, RxJS y Node, para mantenernos al día con el resto del ecosistema de JavaScript.

¿Cómo será el desarrollo posterior de Ivy?


En la versión 8.0, nos gustaría presentar la posibilidad de habilitar Ivy Preview. Si eres nuevo en Ivy, mira la presentación de Kara de Ivy en Google I / O 2018 .


En la versión preliminar habrá la posibilidad de cambiar entre Ivy y el View Engine estándar. Se encontrará más información sobre esto en futuras versiones beta. Si el compilador Ivy compila la aplicación, las dependencias de Angular u otros componentes de terceros seguirán funcionando, gracias a una ejecución a través del compilador de compatibilidad. Usando la versión preliminar, puede detectar errores al conectar dependencias y ayudarnos a refinar el compilador.


Qué esperar de Ivy Preview:


  1. Código generado que es fácil de leer y depurar en tiempo de ejecución
  2. Reducción del tiempo de reconstrucción.
  3. Tamaño de paquete optimizado (la reducción en el tamaño de paquete ya se nota en aplicaciones reales, sin embargo, se planean algunas mejoras adicionales en esta parte)
  4. Comprobación avanzada de tipo de plantilla
  5. Compatibilidad total con versiones anteriores.

Ivy aún no está lista para cubrir todos los casos de uso. Algunas características, como i18n en Angular Universal, probablemente no serán compatibles con la vista previa. En particular, Angular Language Service no funcionará con Ivy Preview.


El propósito de la versión preliminar es transferir las aplicaciones existentes al motor Ivy sin la necesidad de reescribirlas. También hay muchas API específicas de Ivy que agregaremos a nuestra API pública más adelante como parte de Angular Labs y versiones futuras.


¿Cuándo estará todo listo?


En abril de 2019, planeamos presentar un candidato de lanzamiento, y un mes después, el lanzamiento de la versión pública 8.0.0, pero no podemos ofrecer garantías firmes sobre los términos. En la versión 8.0.0, Ivy Preview está diseñado para probar la tesis de compatibilidad total con versiones anteriores de Angular. También nos permitirá desarrollar herramientas de migración automatizadas que pueden ser necesarias en el futuro.


Nos gustaría forzar la inclusión de Ivy para todos en la próxima versión principal prevista para su lanzamiento este otoño, ya que nuestro objetivo es lograr la compatibilidad total con versiones anteriores y admitir aplicaciones existentes.


La introducción de la funcionalidad completa de Ivy en la novena versión abrirá muchas oportunidades para los desarrolladores, y esta es una buena noticia. Pronto compartiremos nuestros planes para la introducción de nuevas características, API, características de uso de Ivy y desarrollo con él.


Siga nuestras publicaciones de blog, twitter y venga a la conferencia ng-conf para obtener más información sobre nuestros planes.

Source: https://habr.com/ru/post/446476/


All Articles