O .NET 11 Preview 7 adiciona passkeys e Hot Reload incremental de XAML ao MAUI
Preview 7 traz autenticação por passkey nativa multiplataforma, recarga incremental de XAML e rotas de template no Shell, além de avançar na migração de renderers para handlers.

A Microsoft liberou em 11 de agosto de 2026 o .NET↳.NET113 conteúdosNovidades do .NET 9 – o tipo genérico OrderedDictionaryDev (Back & Front) · dez 2024Novidades .NET 10: novas formas de uso do .NET CLIDev (Back & Front) · dez 2025Novidades do .NET 5: implementando um proxy reverso com YARP + ASP.NET 5Dev (Back & Front) · nov 2020Ver tudo em Dev (Back & Front) → 11 Preview 7, com um pacote grande de novidades voltadas ao .NET MAUI, o framework multiplataforma para apps mobile e desktop. Segundo o anúncio reportado pela InfoQ, os destaques são autenticação por passkey nativa, uma nova implementação incremental de XAML Hot Reload, rotas de template no Shell e mais bindings seguros para AOT (compilação ahead-of-time).
Para quem trabalha no ecossistema Microsoft no Brasil, especialmente em times que mantêm apps corporativos multiplataforma com MAUI, essa preview mexe em dois pontos que costumam doer no dia a dia: velocidade do ciclo de desenvolvimento (Hot Reload) e a virada de mesa em autenticação que os passkeys representam.
Passkeys nativos no MAUI Essentials
A adição mais visível é uma nova API de Passkeys no MAUI Essentials, que aciona a experiência nativa de passkey em Android 14+, iOS e Mac Catalyst 16+ e versões suportadas do Windows 10. O uso segue três métodos principais:
Passkeys.CreateAsyncpara registrar credenciaisPasskeys.AssertAsyncpara autenticarPasskeys.IsSupportedpara checar se a plataforma suporta a API
O ponto importante para não criar expectativa errada: a API cuida apenas da cerimônia WebAuthn do lado do dispositivo. As responsabilidades do servidor continuam sendo do aplicativo. O servidor relying-party ainda precisa gerar os challenges, fornecer as opções padrão do WebAuthn e validar as assertions ou attestations retornadas.
Há ainda configuração de confiança obrigatória: nas plataformas Apple, é preciso configurar Associated Domains e o arquivo Apple App Site Association; no Android, os Digital Asset Links. Sem essa amarração entre app e domínio, o fluxo não funciona. Ou seja, adotar passkeys no MAUI não é só trocar uma chamada de API, exige coordenação com o backend e com a infra de domínios.
XAML Incremental Hot Reload
O Preview 7 introduz o XAML Incremental Hot Reload como recurso de preview, já habilitado por padrão em builds de Debug. Em vez de reconstruir o XAML por inteiro a cada alteração, a nova implementação combina um source generator com MetadataUpdateHandler para modificar páginas já criadas.
Na prática, o mecanismo consegue lidar com:
- Mudança de propriedades
- Adição ou remoção de filhos
- Reordenação estrutural
- Propriedades anexadas (attached properties)
- Markup extensions e bindings
- Alterações em
ResourceDictionary
O mesmo mecanismo funciona com dotnet watch. Quem preferir voltar ao caminho antigo de Hot Reload pode desabilitar o recurso pela propriedade EnableMauiIncrementalHotReload. É o tipo de mudança que não aparece em release notes chamativas, mas que encurta o loop de feedback de quem monta telas o dia inteiro.
Rotas de template no Shell
A navegação por Shell ganhou rotas de template inspiradas em conceitos já conhecidos do ASP.NET Core e do roteamento do Blazor. Agora as rotas podem conter segmentos obrigatórios, opcionais, com valor padrão, com restrição (constrained), catch-all e mistos, como em product/{sku}.
Os valores de parâmetro continuam fluindo pelos mecanismos já existentes de QueryProperty e IQueryAttributable. A ressalva atual: rotas de template só suportam navegação absoluta, não relativa. Para quem já vem do mundo web com ASP.NET, o modelo mental de rotas deve soar imediatamente familiar.
Mais bindings seguros para AOT
O source generator de XAML expandiu o trabalho de compatibilidade com AOT. Bindings do tipo {RelativeSource AncestorType=...} agora podem compilar para instâncias TypedBinding seguras para trimming, quando o MAUI consegue resolver o tipo ancestral em tempo de compilação. Isso evita os caminhos baseados em reflexão com strings, que podem fazer membros sumirem durante o trimming (o processo que remove código não usado para reduzir o tamanho do app).
Algumas formas de binding, incluindo Self e TemplatedParent, ainda usam o caminho de runtime. É um avanço incremental na direção de apps AOT mais previsíveis e enxutos.
Migração de renderers para handlers continua
A transição dos antigos renderers para a arquitetura de handlers avança nas plataformas Apple: NavigationPage e TabbedPage agora usam handlers por padrão no iOS e no Mac Catalyst, substituindo as implementações legadas de renderer.
Os renderers de compatibilidade seguem disponíveis como fallback manual, mas o recado para os times é direto: aplicações com renderers customizados ou customizações pesadas em nível de página devem testar a mudança antes de adotar o Preview 7 em larga escala. Esse é o tipo de detalhe que evita uma surpresa desagradável em app que já está em produção.
Atualizações por plataforma
Outras novidades específicas de plataforma incluem:
Window.StatusBarTheme- Opção de salvar mídia capturada direto na galeria do sistema
- Ativação de instância única no Windows
- Nova estratégia FastDeploy2 por padrão no Android
dotnet watchagora faz Hot Reload em apps rodando em dispositivos físicos iOS e tvOS, via USB ou Wi-Fi
O Hot Reload em device físico, em particular, ataca um ponto de fricção clássico: testar em hardware real sem pagar o preço de rebuild completo a cada ajuste.
Como instalar e o que fica em aberto
O .NET 11 Preview 7 pode ser instalado pelo .NET 11 Preview SDK. A lista completa de recursos do MAUI, notas por plataforma, detalhes de migração e as issues de implementação linkadas estão no anúncio da Microsoft e nas release notes do MAUI Preview 7.
Por se tratar de uma preview, vários recursos aqui vêm com asteriscos: o Incremental Hot Reload é marcado como preview, as rotas de template ainda não cobrem navegação relativa e parte dos bindings AOT ainda cai no caminho de runtime. Para times BR avaliando o .NET 11, o caminho seguro é testar em branch isolado, especialmente onde há renderers customizados, e acompanhar as próximas previews até a versão estável.
Fonte: InfoQ
Este artigo foi escrito por Redação iMasters, um agente de inteligência artificial com revisão editorial humana.








