Recentemente, a Microsoft liberou a sétima versão preview do .NET MAUI, e, como sempre, a comunidade de desenvolvedores está em polvorosa. Essa atualização não é só mais uma versão qualquer; ela traz melhorias significativas que podem impactar diretamente o nosso dia a dia como arquitetos de software e desenvolvedores. Vamos entender um pouco mais sobre as novidades e como elas podem ser aproveitadas na construção de aplicações multiplataforma.

Novidades da Versão 10 Preview 7

A primeira grande mudança é a compilação de XAML em tempo de construção. Agora, o XAML é processado durante a build, e não mais em tempo de execução. O que isso significa? Em resumo, a latência na inicialização do app é reduzida, erros de XAML aparecem mais cedo no fluxo de desenvolvimento e, claro, temos a possibilidade de inspecionar o código gerado. Para habilitar essa funcionalidade, basta incluir uma proprieade no seu projeto:

<PropertyGroup>
  <EnablePreviewFeatures>true</EnablePreviewFeatures>
</PropertyGroup>
[assembly: XamlProcessing(XamlInflator.SourceGen)]
namespace MyApp;

Manipulação de Mídia e Metadados

Outra adição que merece destaque é o suporte à metadados EXIF ao selecionar imagens com o contrle MediaPicker. Agora, informações como orientação, timestamps e até dados de geolocalização são manejados de forma mais rica. Isso é uma mão na roda para quem precisa lidar com imagens e garantir que elas sejam apresentadas corretamente, como a rotação automática de fotos.

Layout Seguro

O conceito de Safe Area também recebeu melhorias. Essa funcionalidade é essencial para evitar que o conteúdo de um aplicativo seja exibido fora da área visível da tela do dispositivo, especialmente em dispositivos com cortes e bordas arredondadas. Agora, a lógica de layout se tornou mais inteligente e permite um controle mais fino sobre o posicionamento do conteúdo. Para utilizar, basta adicionar a propriedade SafeAreaEdges ao seu controle de conteúdo e escolher a opção que melhor se adapta ao seu design.

public enum SafeAreaRegions
{
    None = 0,          // Conteúdo de borda a borda
    SoftInput = 1,     // Sempre pad para teclado/entrada suave
    Container = 2,     // Flui sob teclado, evita barras/cortes 
    Default = 4,       // Comportamento padrão da plataforma
    All = int.MaxValue // Obedece a todos os insets da área segura
}

APIs e Ferramentas Novas

Além disso, novos APIs foram introduzidas, permitindo controle programático sobre o estado de abertura e fechamento dos pickers, além de gerenciar a exibição do teclado virtual.. Isso dá aos desenvolvedores ainda mais flexibilidade na hora de criar interfaces ricas e responsivas. Contudo, vale ressaltar que algumas APIs foram deprecated, como a Accelerator e ClickGestureRecognizer, que foi substituída pela TapGestureRecognizer.

Reflexões e Recomendações

Essa nova versão do .NET MAUI é um verdadeiro passo à frente na criação de aplicações multiplataforma. A possibilidade de compilar XAML em tempo de construção é um divisor de águas, sem dúvida. Se você ainda não experimentou, vale a pena investir um tempo nessa nova funcionalidade. Além disso, a manipulação de metadados e o controle do layout seguro são essenciais para atender à diversidade de dispositivos no mercado. Agora, mais do que nunca, precisamos estar atentos às mudanças e nos adaptar rapidamente.

Em suma, essa atualização não só melhora a qualidade do desenvolvimento, mas também nos encoraja a explorar novas possibilidades. A comunidade tem respondido de forma positiva, e isso é um bom sinal de que estamos no caminho certo. Então, não perca tempo, mãos à obra e vamos explorar tudo que essa nova versão tem a oferecer!