.NET 8 - Apresentando novos recursos
Hoje vou apresentar alguns dos novos recursos previstos para o .NET 8. |
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:
Espaço de memória reduzida
Tempo de inicialização aprimorado
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: