O time do Angular lançou a versão 17 (next) nesta quarta-feira, 4 de outubro de 2023, permitindo que os usuários explorem as novas funcionalidades. Você pode conferir o changelog completo da versão 17 aqui.
Criando Novo Projeto
A criação de novos projetos permanece essencialmente a mesma, com a exceção de uma nova opção para ativar configurações de SSR (Server-Side Rendering).
Estrutura do Projeto
O boilerplate inicial do projeto foi significativamente otimizado, com a equipe do Angular focando em tornar o projeto mais limpo. Como observado, os arquivos de rotas e configurações estão mais concisos, e não há mais arquivos de módulos. Todos os componentes agora são criados por padrão como standalone components (introduzidos no Angular 16), o que é lindo 😍, pois todos os módulos agora são importados dentro do componente pai.
Nova Sintaxe
Embora a documentação oficial do Angular ainda não tenha incorporado as opções de controle de fluxo, é confirmado que teremos diretrizes como @if
, @else
, @for
, @empty
, e @switch
. Neste momento, vamos abordar as quatro primeiras.
Em nosso arquivo TypeScript, temos dois métodos: um para alternar o título da página e outro para adicionar uma nova habilidade à nossa matriz de habilidades.
Observe dois blocos de código com as classes "novo" e "antigo". Ambos executam a mesma tarefa, mas o código tornou-se mais fácil de compreender. A destacar, temos a diretiva @empty
no bloco de repetições, que é realmente incrível 😍.
Tempo de Compilação
Como você pode ver na imagem acima, o projeto inicial agora gera apenas três arquivos para o bundle, eliminando arquivos como vendor.js e runtime.js. O tempo de compilação de 1.2 segundos é significativamente mais rápido do que os 2.6 segundos da versão 15, por exemplo (rodando em um MacBook com M2).
Conclusão
Estou impressionado com o desempenho e as melhorias de sintaxe desta nova versão. Agora, aguardamos a versão 17 definitiva, juntamente com atualizações na documentação, para entendermos melhor o quanto ela realmente melhorou.