Framework

20 fev, 2020

Angular 9 — Características e atualização de projetos

Publicidade

A versão 9 do Angular já está disponível e com ela, várias atualizações e correções de melhorias e performances em todo ecossistema Angular.

A mais significativa é sem dúvida o Ivy, nome do novo compilador e renderizador do framework.

Ivy

Embora já disponível na versão anterior, a construção dos projetos agora tem Ivy como compilador padrão. Entre os recursos destacam-se:

  • Pacotes menores;
  • Execução de testes mais rápidos;
  • Melhorias na checagem de tipos de erros, classes css, erros de contrução e internacionalização;
  • AOT habilitado por padrão.

De acordo com o anúncio oficial, o compilador Ivy foi projetado para gerar menos código na construção dos componentes.

O impacto dessa característica é mais significativo no tamanho da aplicação em pequenas e grandes aplicações.

Fonte: blog.angular.io/version-9-of-angular-now-available-project-ivy-has-arrived-23c97b63cfa3

Verificação de tipos

O compilador pode verificar os tipos no momento da codificação, o que ajuda a detectar erros no momento de desenvolvimento (IDE).

São dois atributos:

fullTemplateTypeCheck — Quando ativado, o complicador verifica no template do componente (ngIf, ngFor, ng-template …)

strictTemplates — Quando ativado, o compilador consegue em tempo de desenvolvimento, por exemplo, verificar se uma entrada corresponde ao tipo determinado na classe.

Mais detalhes em: https://angular.io/guide/template-typecheck

AOT padrão

Outra ponto interessante da nova versão é a performance. As melhorias com AOT habilitado por default, até mesmo com `ng serve`, trouxe uma redução significativa no tamanho e velocidade. Aplicados no próprio site da documentação (angular.io) a melhoria foi próxima de 40%.

Migrando os projetos

O primeiro passo é atualizar tanto o CLI e o core para última versão do 8. No terminal informe:

ng update @angular/cli8 @angular/core8

Depois, atualizamos para o 9:

ng update @angular/cli @angular/core

Prontinho!!!

Não custa lembrar que é sempre recomendado manter os projetos nas últimas versões, sejam por questões de performance e melhorias ou por correções de segurança. Além do impacto de uma versão para outra não causar tantas break changes.

ma observação. Para quem utiliza componentes do PrimeNG, atualizei a lib para 9.0.0-rc.4, que é compatível com a versão 9 do Angular. Tive problemas com a importações dos módulos, que trocaram de nome.

Além de alguns atributos que foram removidos ou depreciados.

Finalizando

Um site indicado é o update.agular.io, que traz em detalhes informações para orientar a atualização, inclusive com possibilidades, de mostrar o impacto da migração, com base na versão que se encontra o projeto.

Finalmente, para mais detalhes, também recomendo o site: https://v9.angular.io/guide/updating-to-version-9

Até +