.NET 8 -  Apresentando novos recursos


   Hoje vou apresentar alguns dos novos recursos previstos para o  .NET 8.

O .NET 8.0, atualmente em preview 5, vai trazer algumas alterações que já eram esperadas e veremos a seguir alguns destes novos recursos.

Alterações no SDK

Já algum tempo a comunidade ser pergunta por que os comandos dotnet publish e dotnet pack não produzem uma compilação de release por padrão.

No .NET 8.0 esses comandos agora criarão uma compilação release conforme era esperado e desejado.

As propriedades PublishRelease e PackRelease que controlam esse comportamento já existem para o .NET 7. No entanto, você deve defini-las manualmente como true para obter o mesmo comportamento do .NET 8.

No .NET 8.0 o comportamento será o padrão.

AOT Nativo

A compilação Ahead-of-Time (AOT) é um recurso do .NET que pode afetar significativamente o desempenho dos aplicativos .NET.

Os aplicativos AOT contêm o código do aplicativo e um tempo de execução .NET em um único arquivo executável.

Os três benefícios mais importantes dos aplicativos compilados por AOT são:

  1. Espaço de memória reduzida

  2. Tempo de inicialização aprimorado

  3. Vida útil da bateria melhorada

A publicação da sua aplicação como AOT nativo produz uma aplicação que é autónoma e que foi compilada antecipadamente (AOT) para código nativo. As aplicações AOT nativas têm um tempo de arranque mais rápido e uma pegada de memória mais pequena. Estas aplicações podem ser executadas em computadores que não tenham o tempo de execução .NET instalado.

O benefício do AOT nativo é mais significativo para cargas de trabalho com um grande número de instâncias implantadas, como infraestrutura de nuvem e serviços de hiperescala.

A implantação do AOT nativo está atualmente em versão prévia para o ASP.NET Core 8.0.

Método para trabalhar com aleatoriedade

O .NET 8 oferece duas novas abordagens ao trabalhar com aleatoriedade.

As classes System.Random  e  System.Security.Cryptography.RandomNumberGenerator agora oferecem dois novos métodos utilitários.

1- O método Shuffle randomiza a ordem dos elementos em um intervalo.

Os novos métodos Random.Shuffle e RandomNumberGenerator.Shuffle<T>(Span<T>) permitem-lhe aleatorizar a ordem de um span. Esses métodos são úteis para reduzir o viés de treinamento no aprendizado de máquina (para que a primeira coisa não seja sempre treinamento, e a última coisa seja sempre teste).

2- O método GetItems ajuda a selecionar vários elementos aleatórios de uma coleção.

Os novos métodos System.Random.GetItems e System.Security.Cryptography.RandomNumberGenerator.GetItems permitem escolher aleatoriamente um número especificado de itens de um conjunto de entrada.

Melhorias no desempenho e assistente de atualização

Já existem milhares de pequenas gerações de código e outras melhorias de desempenho desde o lançamento das versões perview do .NET 8.

Até o lançamento final do .NET 8, haverá muitas outras melhorias de desempenho incluídas. Isso será perceptível ao migrar do .NET 7 e um aumento de desempenho ainda maior ao migrar seus aplicativos do .NET 6 ou mais antigo.

Ser um desenvolvedor .NET hoje nos dá tantas melhorias que afetam o desempenho dos aplicativos que construímos apenas migrando para uma framework de destino mais recente. Assim você deve ter uma notivação maior para ficar o mais atualizado possível com os seus projetos.

O Assistente de atualização do .NET  -  .NET Upgrade Assistant - é uma ferramenta que ajuda você a migrar seus projetos .NET existentes para a versão mais recente do .NET. Por exemplo, além de outros tipos de projeto, ele ajuda a migrar um aplicativo WPF ou WinForms existente do .NET Framework 4.7 para a versão atual do .NET.

O .NET Upgrade Assistant já existe há alguns anos mas agora está disponível como uma extensão do Visual Studio. Assim, ficará mais fácil do que nunca verificar e migrar seus aplicativos legados usando o .NET Upgrade Assistant. Embora ele não esteja vinculado ao .NET 7 ou .NET 8, ele pode ser usado independentemente para ajudar a migrar os aplicativos .NET existentes.

E estamos conversados.

"Porque pela graça sois salvos, por meio da fé; e isto não vem de vós, é dom de Deus.
Não vem das obras, para que ninguém se glorie;"
Efésios 2:8,9

Referências:


José Carlos Macoratti