Toda semana temos a pergunta: "Quando Ivy estará pronta?" É hora de dizer como estão as coisas com a versão 8.0, bem como compartilhar com você os planos de lembrar e liberar o mecanismo Ivy.
Na oitava versão, lançada no segundo trimestre deste ano, gostaríamos de introduzir a possibilidade de inclusão opcional da versão preliminar do Ivy (Ivy Preview).

O que há de novo na versão 8.0
Embora a maior parte de nossa equipe tenha ido direto ao desenvolvimento, estamos prontos para apresentar várias atualizações para a versão 8.0, nas quais estamos trabalhando tanto. Vale ressaltar que alguns recursos da versão final podem diferir dos descritos abaixo.
- Carregamento diferenciado do JavaScript moderno.
Agora, a CLI criará pacotes configuráveis dos padrões JavaScript obsoleto (ES5) e moderno (ES2015 +) como parte do processo de compilação, que será carregado no lado do cliente dependendo do navegador, reduzindo assim a velocidade e o tempo de download até a primeira interação nos navegadores modernos. Essa funcionalidade foi desenvolvida em conjunto com Manfred Steyer e é baseada em seu projeto ngx-build-modern . - Capacidade de conectar o Ivy Preview.
Avalie como seu aplicativo funcionará com Ivy e conte-nos suas impressões para que possamos fazer os ajustes necessários na versão final. - Compatibilidade total com versões anteriores do roteador Angular.
Adicionamos o modo de compatibilidade com versões anteriores, o que simplificará o processo de atualização de grandes projetos. Será mais fácil para os desenvolvedores atualizar para o Angular, permitindo o carregamento atrasado de partes dos aplicativos AngularJS usando a API de rota $. - Pacote aprimorado de Web Worker.
Os trabalhadores da Web são uma ótima maneira de escrever código executado em um thread separado, o que acelera o trabalho e melhora o paralelismo do aplicativo. A pedido de muitos desenvolvedores, a interface da linha de comandos oferecerá suporte ao agrupamento de webworkers. - Enviando dados de uso (opcional).
Adicionaremos telemetria à interface da linha de comandos para entender melhor as necessidades dos desenvolvedores. Com seu consentimento, coletaremos dados anônimos, como os comandos que você usa ou a velocidade de criação. Quanto mais informações tivermos sobre como os desenvolvedores usam o Angular, melhor podemos criar nosso produto. - Atualização de dependência.
Como sempre, atualizaremos dependências, em especial TypeScript, RxJS e Node, para acompanhar o restante do ecossistema JavaScript.
Como será o desenvolvimento de Ivy?
Na versão 8.0, gostaríamos de apresentar a capacidade de ativar o Ivy Preview. Se você é novo no Ivy, confira a apresentação de Kara do Ivy no Google I / O 2018 .
Na versão preliminar, haverá a capacidade de alternar entre o Ivy e o View Engine padrão. Mais informações sobre isso serão encontradas nas futuras versões beta. Se o aplicativo for compilado pelo compilador Ivy, quaisquer dependências do Angular ou de outros componentes de terceiros ainda funcionarão, graças à execução do compilador de compatibilidade. Usando a versão preliminar, você pode detectar erros ao conectar dependências e nos ajudar a refinar o compilador.
O que esperar do Ivy Preview:
- Código gerado fácil de ler e depurar em tempo de execução
- Tempo de reconstrução reduzido
- Tamanho do pacote otimizado (a redução no tamanho do pacote já é perceptível em aplicativos reais, no entanto, algumas melhorias adicionais estão planejadas nesta parte)
- Verificação avançada de tipo de modelo
- Compatibilidade total com versões anteriores
Ivy ainda não está pronta para cobrir todos os casos de uso. Alguns recursos, como o i18n no Angular Universal, provavelmente não serão suportados na visualização. Em particular, o Angular Language Service não funcionará com o Ivy Preview.
O objetivo da versão preliminar é transferir aplicativos existentes para o mecanismo Ivy sem a necessidade de reescrevê-los. Também existem muitas APIs específicas do Ivy que adicionaremos à nossa API pública posteriormente como parte do Angular Labs e versões futuras.
Quando tudo estará pronto?
Em abril de 2019, planejamos apresentar um candidato a lançamento e, um mês depois - o lançamento da versão pública 8.0.0, mas não podemos dar garantias firmes sobre os termos. Na versão 8.0.0, o Ivy Preview foi projetado para testar a tese de compatibilidade total com versões anteriores do Angular. Também nos permitirá desenvolver ferramentas de migração automatizadas que possam ser necessárias no futuro.
Gostaríamos de forçar a inclusão do Ivy para todos na próxima versão principal planejada para lançamento neste outono, pois pretendemos alcançar compatibilidade total com versões anteriores e oferecer suporte a aplicativos existentes.
A introdução da funcionalidade completa do Ivy na nona versão abrirá muitas oportunidades para os desenvolvedores, e isso é uma boa notícia. Em breve, compartilharemos nossos planos para a introdução de novos recursos, APIs, recursos de uso do Ivy e desenvolvimento com ele.
Siga nossas postagens no blog, twitter e venha para a conferência ng-conf para descobrir mais sobre nossos planos.