Recentemente, a Microsoft soltou a nova versão do .NET 10 Preview 5 e, puxa, tem muita coisa boa para quem trabalha com desenvolvimento de software. Se você é da área, sabe que a produtividade e a observabilidade são essenciais para manter um código limpo e eficiente. E é exatamente isso que essa atualização promete trazer!
Introdução
O .NET 10 Preview 5 não é apenas mais uma atualização; é um passo significativo rumo a um desenvolvimento mais ágil e intuitivo. As melhorias abrangem desde o ASP.NET Core até o WPF, passando pelo Entity Framework Core e .NET MAUI. Ou seja, há algo para todo mundo. Vamos explorar como essas novas funcionalidades podem facilitar seu trabalho e quais dicas práticas podemos implementar na nossa rotna.
Novidades em ASP.NET Core
Uma das grandes novidades é a configuração de descritores de segurança personalizados para filas de requisições HTTP.sys. Isso significa que agora temos um controle mais granular sobre o acesso. às filas de requisições no nível do sistema operacional. E, como todo bom desenvolvedor sabe, isso pode ser crucial em aplicações que exigem alta segurança.
Além disso, as APIs de resolução de validação para Minimal APIs foram marcadas como experimentais, permitindo futuras modificações. Isso é um sinal claro de que a Microsoft está atenta às necessidades dos desenvolvedores e pronta para adaptar ferramentas conforme o feedback da comunidade.
Aprimoramento no OpenAPI
Outro ponto que merece destaque é a melhoria na geração de OpenAPI, agora com suporte para a versão 3.1. A extração de metadados da documentação XML também foi ampliada, reconhecendo as tags <returns>
e <response>
. Isso pode facilitar bastante a vida na hora de documentar suas APIs, não acha?
Blazor e a observabilidade
O Blazor também não ficou de fora. A nova capacidade de renderização de páginas "Not Found" é uma mão na roda para quem está cansado de ver páginas de erro mal formatadas. O novo método de especificar um componentte NotFoundPage no roteador é uma forma prática de melhorar a experiência do usuário em suas aplicações. Por exemplo:
<Router AppAssembly="@typeof(Program).Assembly" NotFoundPage="typeof(Pages.NotFound)">
<Found Context="routeData">
<RouteView RouteData="@routeData" />
<FocusOnNavigate RouteData="@routeData" Selector="h1" />
</Found>
<NotFound>Este conteúdo será ignorado porque temos NotFoundPage definido.</NotFound>
</Router>
Mas o que realmente chamou a atenção foi a introdução de métricas e rastreamento detalhados para aplicações Blazor. Através do OpenTelemetry, agora é possível coletar dados sobre eventos de navegação, manipulação de eventos e ciclos de vida de circuitos. Para habilitar isso, basta configurar o provedor de medição e rastreamento. Um exemplo de configuração é:
builder.Services.ConfigureOpenTelemetryMeterProvider(meterProvider => {
meterProvider.AddMeter("Microsoft.AspNetCore.Components");
meterProvider.AddMeter("Microsoft.AspNetCore.Components.Lifecycle");
meterProvider.AddMeter("Microsoft.AspNetCore.Components.Server.Circuits");
});
Melhorias no .NET MAUI
Se você trabalha com .NET MAUI, vai adorar as novas funcionalidades de namespaces globais e implícitos. Essas adições simplificam o markup, permitindo que você use controles sem precisar se preocupar com várias declarações de xmlns. O que é ótimo para manter o código limpo e organizado.
Intercepção de requisições
Outra adição interessante é a capacidade de interceptar requisições web no HybridWebView. Isso abre uma gama de possibilidades, como injetar cabeçalhos personalizados ou servir recursos locais. Um exemplo simples de como ativar isso é:
<HybridWebView WebResourceRequested="HybridWebView_WebResourceRequested" />
Conclusão
Essas atualizações do .NET 10 Preview 5 são um verdadeiro presente para os desenvolvedores. Com novas funcionalidades que aumentam a produtividade e melhoram a observabilidade, é hora de ficarmos atentos a essas mudanças e adaptarmos nossas práticas. Minha recomendação é que você experimente essas novidades em seus projetos e veja como elas podem impactar positivamente seu fluxo de trabalho. E, claro, mantenha-se sempre atualizando seus conhecimentos! A tecnologia não para, e nós também não devemos parar.