O Google lançou o Angular 5, incluindo otimizações de build, compilação incremental, e um suporte melhor para internacionalização, dentre outras melhorias.
O Angular 5 é uma nova versão principal do popular framework web mantido pelo Google. Das dezenas de novas funcionalidades e melhorias de performance, selecionamos algumas para detalhar que parecem ter mais impacto no trabalho de desenvolvimento.
Otimização de build: O CLI 1.5 irá criar projetos v5 com otimização no build por padrão, gerando pacotes menores. Algumas partes da aplicação serão marcadas apenas como auxiliares ao remover partes desnecessárias. Da mesma forma, os decorators do Angular serão removidos do código em execução, tornando o código menor e mais rápido para carregar.
Compilador: O compilador do Angular suporta builds incrementais, gerenciando as mesmas de forma a reduzir o tempo de build em 90% nos testes com projetos reais utilizando transformações em Typescript. Pelo tempo de compilação ter sido reduzido abaixo de 2 segundos para grandes projetos, AOT será padrão na futura versão do CLI.
Estado de transferência universal (Universal State Transfer): O Angular 5 adicionou o ServerTransferStateModule e o BrowserTransferStateModule para transferir o estado computado durante a renderização do server-side para o cliente, não sendo necessário gerá-lo novamente.
Domino. O Angular agora suporta Domino, uma implementação DOM do server-side, adicionando suporte a mais bibliotecas de componente JavaScript no server-side.
Espaço em branco. Os desenvolvedores podem escolher preservar ou não espaço em branco nos componentes especificando a opção no decorador ou no nível de aplicação no tsconfig.json.
Internacionalização. O Angular 5 tem novos campos para data, números e moedas para melhor suporte à internacionalização pelos navegadores, removendo a necessidade de polyfills correspondentes. Mais detalhes em como usar o I18n e como reverter o mecanismo anterior podem ser encontrados aqui.
A última versão do Angular introduz algumas grandes mudanças, mas nada problemático como sair do Angular 1.x para o 2. Uma delas é a dependência do TypeScript 2.4.x. Alguns trechos de código também foram descontinuados. Para a lista completa de alterações recomendamos a leitura das Release Notes.