Planos para Angular 8.0 e Ivy

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:


  1. Código gerado fácil de ler e depurar em tempo de execução
  2. Tempo de reconstrução reduzido
  3. 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)
  4. Verificação avançada de tipo de modelo
  5. 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.

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


All Articles