.NET
10 - Liberada a versão RC1 com licença go-Live
![]() |
Hoje apresenta a versão RC1 do .NET 10 (LTS) liberada com a licença go-Live. |
A Microsoft acabou de lançar o .NET 10 RC1 e vou te apresentar uma visão geral desta versão e te motivar a trocar para o .NET 10.
O .NET 10 Release Candidate combina muitas melhorias “invisíveis” com apostas
grandes no futuro. Se você acompanhou os previews, especialmente o Preview 7,
que trouxe grandes recursos , vai concordar que este é um dos lançamentos
mais completos para uma versão do .NET.
Cabe destacar que esta versão RC1
não é apenas um preview simples, pois vem com licença go-live, o que significa
que a Microsoft te dá suporte oficial caso decida usá-lo em produção. Isso é
fundamental, porque indica que a plataforma já está estável e pronta para
projetos reais.
Assim, esta não é apenas "mais uma
atualização anual". É um lançamento que faz o .NET parecer mais poderoso —
e mais agradável — para a construção de aplicativos modernos.
O .NET 10 foca em três áreas que realmente importam no desenvolvimento do dia a
dia:
1 - Melhoria de desempenho sem alterar seu código
2 - Segurança
preparada para o futuro quântico
3 - APIs mais modernas e práticas
Desempenho: melhorias que você nota sem fazer
nada
a-Desvirtualização de arrays que realmente funciona
Antes, quando você acessava um array através de
IEnumerable<T>, o JIT gerava chamadas virtuais desnecessárias. No .NET
10, o compilador reconhece que se trata de um array e otimiza automaticamente:
// Este código agora é mais rápido sem alterações public class TesteDesvirtualizacao { private int[] numeros = Enumerable.Range(0, 1_000_000).ToArray(); [Benchmark] public long Somar_ArrayIEnumerable() => numeros.AsEnumerable().Sum(); } |
Faça um teste e verifique que a diferença é notável. É uma daquelas otimizações que melhoram seu código existente sem que você precise mudar nada.
b - Alocação na pilha que realmente funciona
Outra
melhoria importante é a alocação automática na pilha para pequenos arrays, o que
reduz significativamente a pressão no coletor de lixo:
// Agora isso é ainda mais eficiente Span<int> buffer = stackalloc int[64]; for (int i = 0; i < 64; i++) { buffer[i] = i; } |
Se você trabalha com algoritmos de parsing ou criptografia ou em projetos onde cada microssegundo conta, essas otimizações fazem a diferença.
Preparação para o hardware do futuro
O .NET 10 já inclui suporte a instruções AVX10.2 e GFNI,
que nem existem ainda nos processadores atuais. A Microsoft se adiantou para
que, quando o hardware compatível chegar, o ecossistema .NET já esteja pronto
para aproveitá-lo desde o primeiro dia.
Isso mostra uma visão de longo
prazo, algo que é muito importante em uma plataforma de desenvolvimento.
Nota:
|
APIs mais modernas na BCL (Base Class
Library)
Conversões simplificadas UTF-8 ↔
Hexadecimal
Um dos aprimoramentos mais práticos são as novas
APIs para trabalhar com dados binários e hexadecimais:
ReadOnlySpan<byte> dados = stackalloc byte[] { 0xDE, 0xAD, 0xBE, 0xEF }; string hexadecimal = Convert.ToHexString(dados); // "DEADBEEF" |
Isso elimina muito código repetitivo em tarefas de criptografia e serialização. Menos alocações e menos complexidade.
Suporte a PipeReader na serialização JSON
O Preview 7 trouxe suporte a PipeReader no
System.Text.Json. Agora é possível serializar e desserializar JSON
diretamente de um PipeReader, o que é traz uma vantagem enorme em termos de desempenho:
// Agora você pode desserializar diretamente de
um PipeReader var leitor = PipeReader.Create(stream); var resultado = await JsonSerializer.DeserializeAsync<MeuModelo>(leitor); |
O desempenho com cargas grandes de JSON e a redução no uso de memória é significativa. Isso é particularmente útil em cenários de alta demanda, como APIs web e mensageria em tempo real, onde minimizar sobrecarga é crucial.
Abstração WebSocketStream
Outra adição prática é o WebSocketStream, que
fornece uma abstração de stream sobre WebSockets. Isso simplifica os padrões de
leitura e escrita em aplicações em tempo real:
using var fluxoWebSocket = new WebSocketStream(webSocket); await fluxoWebSocket.WriteAsync(dados); |
Melhorias em coleções e datas
Foram adicionados
OrderedDictionary<TKey,TValue>, melhorias no TimeSpan e
DateOnly com suporte aprimorado a ISOWeek. São
pequenos detalhes que tornam o desenvolvimento mais fluido.
Criptografia pós-quântica: preparando o futuro
Por que isso é
revolucionário ?
O recurso mais disruptivo do .NET 10 é o suporte nativo
a algoritmos de criptografia pós-quântica. A partir do Preview 7, a Microsoft
introduziu ML-DSA (algoritmo de assinatura digital baseado em aprendizado de
máquina) e suas variantes compostas, junto ao já existente ML-KEM e
SLH-DSA:
// Criptografia do
futuro, disponível hoje using var kem = MLKem.Create(); var (publica, privada) = kem.GenerateKeyPair(); var cifra = kem.Encapsulate(publica, out var segredo); var recuperado = kem.Decapsulate(privada, cifra); // Novo suporte ML-DSA using var dsa = MLDSA.Create(); var assinatura = dsa.Sign(dados, chavePrivada); bool valido = dsa.Verify(dados, assinatura, chavePublica); |
Ainda é experimental, mas o fato de já estar diretamente na BCL mostra que a Microsoft leva isso muito a sério.
Padrões criptográficos aprimorados
- Suporte ao AES
KeyWrap com Padding (IETF RFC 5649).
- Suporte a TLS 1.3 em clientes macOS,
melhorando segurança e performance.
ASP.NET Core e Blazor mais produtivos
Processamento JSON que realmente escala
O suporte a
PipeReader no System.Text.Json é um divisor de
águas para aplicações ASP.NET Core. Ele reduz alocações de memória e melhora o
desempenho em cargas grandes:
// Processamento JSON de alto desempenho no ASP.NET Core app.MapPost("/dados", async (PipeReader leitor) => { var modelo = await JsonSerializer.DeserializeAsync<ModeloDeDados>(leitor); return Results.Ok(modelo); }); |
Melhorias em autenticação
Melhor suporte a chaves de
acesso (passkeys) para login sem senha.
Melhor detecção
de endpoints de API (sem redirecionamento para login HTML quando se usa
cookies).
// Melhor detecção
de endpoints de API app.UseAuthentication(); app.UseAuthorization(); |
Melhorias na experiência de desenvolvimento
- Suporte ao domínio .localhost para simplificar
configurações locais.
- Blazor com validação aprimorada para classes e records.
- Uso interno de PipeReader para melhor desempenho em
componentes.
-
Dependência do OpenAPI.NET atualizada para versão estável.
EF Core 10: JSON e tipos complexos
O Entity Framework
Core 10 traz melhorias importantes como:
- Suporte
otimizado a dados JSON em consultas.
- Melhor suporte a tipos complexos.
Isso é essencial para quem trabalha com PostgreSQL ou
SQL Server em modelos híbridos.
Algo importante que você
deve saber
- Para usar o net10.0, é necessário ter versões
recentes do Visual Studio 2026 ou o SDK atualizado.
- O
analisador de trimming agora limita iterações de análise de fluxo de controle, o
que melhora estabilidade e reduz builds longos.
Recursos úteis
Download do .NET 10 RC1 — site oficial (Essa versão só é
compatível com Visual Studio 2026 (v18.0
Preview 1).
Documentação de novidades — todos os recursos novos
Visual Studio 2026 Insiders (Para usar com o .NET 10)
E estamos conversados...
"(Disse Jesus) Estai em mim, e eu em vós; como a vara de si mesma não pode
dar fruto, se não estiver na videira, assim também vós, se não estiverdes em
mim."
João 15:4
Referências:
NET - Unit of Work - Padrão Unidade de ...