Comece aqui
Novo por aqui? Estes são os posts que eu indicaria primeiro para uma pessoa desenvolvedora. São mais longos, mais perenes ou mais didáticos do que os posts diários de notícias. Atualizado sempre que escrevo algo que eu realmente recomendaria.
14 posts · agrupados por tema
Linguagem C#
O que mudou de fato na linguagem e como isso chega no código real.
- Membros de extensão em C# 14: propriedades, operadores e membros estáticos de extensão C# 14 introduz membros de extensão, permitindo adicionar propriedades, operadores e membros estáticos de extensão a tipos existentes usando a nova palavra-chave extension.
- Atribuição condicional nula em C# 14: usando ?. e ?[] no lado esquerdo C# 14 estende os operadores condicionais nulos para funcionarem no lado esquerdo de atribuições, eliminando verificações de null verbosas ao definir propriedades ou indexadores.
- Os tipos union do C# 15 chegaram: type unions são entregues no .NET 11 Preview 2 C# 15 introduz a palavra-chave union para type unions com correspondência de padrões exaustiva e conversões implícitas. Disponível agora no .NET 11 Preview 2.
EF Core
Recursos centrais de acesso a dados que destrinchei no EF Core 10 e 11.
- EF Core 11 adiciona busca vetorial nativa do SQL Server com índices DiskANN EF Core 11 Preview 2 suporta o VECTOR_SEARCH() do SQL Server 2025 e os índices vetoriais DiskANN diretamente do LINQ. Veja como configurar o índice, executar consultas aproximadas, e o que muda da abordagem VectorDistance do EF Core 10.
- EF Core 11 poda joins de referência desnecessários em split queries EF Core 11 Preview 3 remove joins to-one redundantes de split queries e derruba chaves ORDER BY desnecessárias. Um cenário relatado ficou 29% mais rápido, outro 22%. Aqui está como o SQL fica agora.
- EF Core 11 liga transactional batches de Cosmos DB por padrão EF Core 11 agrupa writes de Cosmos DB em transactional batches por container e partition em cada SaveChanges, dando atomicidade best-effort e menos roundtrips sem mudanças de código.
Performance e profiling
Posts que mostram as engrenagens em movimento, não só as feature flags.
- Desempenho no .NET 10: SearchValues Use SearchValues no .NET 10 para busca multi-string de alto desempenho. Substitui loops foreach por correspondência acelerada por SIMD usando os algoritmos Aho-Corasick e Teddy.
- Perfetto + dotnet-trace: um ciclo prático de profiling para .NET 9/.NET 10 Um ciclo prático de profiling para .NET 9 e .NET 10: capture traces com dotnet-trace, visualize-os no Perfetto e itere sobre problemas de CPU, GC e thread pool.
- Construindo um motor de banco de dados de latência de microssegundos em C# O projeto Typhon de Loic Baumann mira commits ACID de 1-2 microssegundos usando ref structs, intrínsecos de hardware e memória fixada, provando que C# pode competir no nível de programação de sistemas.
Runtime do .NET e tooling
Coisas que mudam a sensação do trabalho diário com .NET.
- Runtime Async do .NET 11 substitui state machines com stack traces mais limpos Runtime Async no .NET 11 move o tratamento de async/await das state machines geradas pelo compilador para o próprio runtime, produzindo stack traces legíveis, breakpoints corretos, e menos alocações no heap.
- ASP.NET Core 11 entrega tracing OpenTelemetry nativo: largue o pacote NuGet extra ASP.NET Core no .NET 11 Preview 2 adiciona atributos semânticos do OpenTelemetry diretamente à atividade do servidor HTTP, removendo a necessidade do OpenTelemetry.Instrumentation.AspNetCore.
MAUI e Flutter
Posts do lado mobile com detalhe suficiente para serem acionáveis.
- .NET MAUI 11 traz um LongPressGestureRecognizer embutido .NET MAUI 11 Preview 3 adiciona LongPressGestureRecognizer como gesto de primeira classe, com duration, threshold de movimento, eventos de state, e binding de command, substituindo o behavior comum do Community Toolkit.
- Pin clustering aterrissa no .NET MAUI 11 Maps .NET MAUI 11 Preview 3 adiciona pin clustering embutido ao controle Map no Android e iOS, com grupos ClusteringIdentifier e um evento ClusterClicked.
- Flutter Text: o detalhe `leadingDistribution` que muda como sua UI "respira" A propriedade leadingDistribution dentro de TextHeightBehavior no Flutter controla como o leading extra é distribuído acima e abaixo dos glifos. Aqui está quando isso importa e como consertar texto que parece desalinhado verticalmente.