Jornada Frontend

Angular 13, a mais recente atualização do popular framework da Web baseado em TypeScript do Google que promete ser “100% Ivy”, já está disponível como versão de produção.

Ivy é o mecanismo de compilação e renderização da próxima geração do Angular, mantendo o suporte para o View Engine antecessor. 

O suporte para a biblioteca Ivy está sendo concluído no Angular 13 e o suporte para o View Engine está sendo removido. 

As atualizações de desempenho também estão sendo destacadas no Angular 13, impactando áreas como Adobe Fonts e o bundler JavaScript ESBuild, com o ESBuild agora suportando mapas de origem CSS, permitindo CSS global otimizado.

[ Conheça meu curso de Angular ]

O código para a versão de produção pode ser encontrado no GitHub . Os desenvolvedores podem executar ng updateseus projetos para obter o Angular 13. As alterações citadas nas notas de lançamento do Angular 13 e em um boletim anunciando o lançamento de produção incluem o seguinte:

  • O suporte ao TypeScript 4.4 foi adicionado, a partir de 5 de outubro, as versões anteriores ao TypeScript 4.4.2 não são mais suportadas no núcleo.
  • As versões do Node.js anteriores à v12.20 não são mais compatíveis, devido a pacotes Angular que usam o recurso de exportação de pacotes Node.js com padrões de subcaminho.
  • A biblioteca de programação reativa rxjs (Reactive Extensions for JavaScript) v7 é suportada.
  • Validadores integrados como minmaxminLength podem ser desabilitados ou habilitados dinamicamente.
  • Uma API ViewContainerRef.createComponent simplificada permite a criação dinâmica de componentes.
  • As mensagens de erro foram melhoradas.
  • Um recurso persistente de “compilar cache por padrão” melhorou as compilações.
  • Angular Package Format 13 é introduzido, removendo o código específico do View Engine dos pacotes. O APF foi simplificado e modernizado.
  • $localize é uma API estável, para internacionalização.
  • As condições personalizadas podem ser definidas em ng_package.
  • O roteador não substitui mais a URL do navegador quando uma nova navegação cancela uma navegação em andamento. Isso causou oscilação de URL e serviu apenas para oferecer suporte a alguns aplicativos híbridos AngularJS. Os aplicativos híbridos que dependem navigationIddo roteador devem se inscrever em NavigationCanceleventos e conduzi- replaceStatelos para adicionar navigationIdao estado do roteador.
  • wrappedValueclasse não pode mais ser suportada em @angular/core, o que pode resultar em erros de compilação ou falhas em tempo de execução se as bibliotecas using wrappedValueforem usadas. O uso de wrappedValuedeve ser removido.
  • O comportamento do SpyLocationusado pelo RouterTestingModulefoi alterado para corresponder ao comportamento dos navegadores.
  • Para o núcleo, anotações puras estão sendo adicionadas aos inicializadores de propriedade estática. Propriedades de classe com inicializadores que causam a execução de código podem ter efeitos colaterais na avaliação do módulo, com efeito semelhante ao código de nível de módulo. Assim, os otimizadores não podem remover com segurança uma classe com essa propriedade estática, pois os possíveis efeitos colaterais podem afetar a execução do aplicativo. Para permitir que classes com esses tipos de propriedades estáticas sejam otimizadas e removidas se não forem usadas, as expressões inicializadoras para as propriedades estáticas podem ser anotadas como puras.
  • O cache do service worker é limpo no security worker para garantir que conteúdos obsoletos ou quebrados não sejam atendidos em solicitações futuras.
  • Para o navegador de plataforma , a mensagem de erro foi aprimorada para um gatilho de animação ausente.
  • Para formulários, o Angular 13 estreia um novo tipo, FormControlStatus, que é uma união de todas as strings de status possíveis para controles de formulário. Além disso, AbstractControl.statusfoi reduzido de stringpara FormControlStatusStatusChangesfoi reduzido de Observable<any>para Observable<FormControlStatus>. A maioria dos aplicativos deve consumir esses novos tipos perfeitamente, de acordo com o changelog do Angular.
  • Para o roteador, foi proposta uma alteração para corrigir uma situação em que o serializador de URL padrão descartaria tudo depois, incluindo um ponto de interrogação nos parâmetros de consulta, resultando na análise incorreta de uma navegação para /path?q=hello?&other=123. Essa alteração fornece análise correta.
  • A CLI Angular foi aprimorada.
  • Melhorias para TestBedpermitir um melhor trabalho de desmontagem de módulos e ambientes de teste após cada teste.
  • O suporte ao IE11 (Internet Explorer) está sendo removido.
  • Para o compilador-cli, a análise seria ignorada para compilações incrementais para arquivos sem comportamento Angular. Em uma compilação incremental, o compilador tenta reutilizar o máximo possível de dados de análise de uma compilação anterior para evitar fazer o trabalho de análise novamente. Para arquivos de origem sem comportamento Angular, no entanto, nenhum dado de análise seria registrado, com o resultado de que o arquivo de origem seria reanalisado a cada compilação, mesmo que nada tivesse mudado. Este commit evita a análise de tais arquivos de origem.
  • Para o serviço de idioma, seria oferecido suporte para tipos de união literal de string de preenchimento automático em modelos.
  • Para o roteador, os eventos de saída ausentes seriam adicionados ao arquivo RouterOutletContract. Isso será necessário quando os componentes forem renderizados dinamicamente por meio da federação de módulos em algum momento no futuro.

Os lançamentos de produção do Angular são direcionados a cada seis meses. O lançamento do predecessor Angular 12 chegou em 12 de maio.

Gostou? Esse artigo foi traduzido do site www.infoworld.com.

Tenha uma carreira
Front-end de Sucesso!

Ebook - JORNADA FRONT-END

Fruto de mais de 7 anos estudando e trabalhando com Front-end, a "Jornada Front-end - O Guia Definitivo" é um manual completo para todos que querem subir em suas carreiras do zero ou subir do seu nível atual.

Ebook enviado com sucesso! Verifique sua caixa de e-mail.

Share This