Quais as vantagens do .NET MAUI sobre o Xamarin-Forms ?


Neste artigo vou apresentar algumas vantagens que o .NET MAUI apresenta sobre o Xamarin-Forms.

O .NET Multi-platform App UI (.NET MAUI) é um framework multiplataforma de código aberto para a criação de aplicativos móveis e desktop nativos com C# e XAML.(https://docs.microsoft.com/en-us/dotnet/maui/what-is-maui)

Usando o .NET MAUI, você desenvolve aplicativos que podem ser executados no Android, iOS, macOS e Windows a partir de uma única base de código compartilhada.

O .NET MAUI é a evolução do Xamarin.Forms, estendido de cenários móveis a desktops, com controles de IU reconstruídos do zero para desempenho e extensibilidade.

Xamarin.Forms está conosco há quase sete anos! Ele desempenhou um papel crucial no desenvolvimento de aplicativos multiplataforma e ajudou inúmeros desenvolvedores a ter sucesso ano após ano. Mas agora é hora de dizer adeus ao Xamarin.Forms e bem-vindo .NET MAUI (Multi-platform App UI). O .NET MAUI vai nos ajudar a ter ainda mais sucesso no desenvolvimento de aplicativos.(É o que todos esperamos...)

Neste artigo vamos apresentar as seguintes vantagens que o .NET MAUI apresenta sobre o Xamarin.Forms:

  1. Experiência em projeto de desenvolvimento único com .NET CLI
  2. Renderizadores mais leves
  3. Padrões Modernos
  4. Suporte completo ao Hot Reload
  5. Unificação das bibliotecas

1- Experiência em projeto de desenvolvimento único com .NET CLI

No Xamarin.Forms, os desenvolvedores podem ficar frustrados ao trabalhar com vários projetos voltados para várias plataformas; manter imagens, fontes e códigos relacionados à plataforma organizados; e adicionar dependências diferentes e resolvê-las se forem referenciados como pacotes NuGet. Ao encontrar esses problemas, os desenvolvedores podem pensar: "Por que não temos a opção de fazer isso em um único projeto?"

O .NET MAUI vem com um único projeto para resolver todos esses problemas, mas, mesmo assim, ainda vamos precisar fazer algumas operações específicas da plataforma.

2- Renderizadores mais leves

O Xamarin.Forms usa e depende de renderizadores personalizados que não são usados no .NET MAUI.

Sabendo disso, você pode perguntar: “O que acontecerá com os renderizadores personalizados usados em meu aplicativo atual?”

Não se preocupe. Os renderizadores customizados ainda podem funcionar usando um pacote de compatibilidade, mas é recomendado migrar e usar o novo padrão de renderizador slim. Isso ajudará a tornar seu aplicativo leve e a experiência de desenvolvimento mais fácil. O .NET MAUI é fracamente acoplado e não há dependências do Xamarin.Forms nele.

3- Padrões modernos : MVU e Blazor

O Xamarin.Forms oferece suporte aos padrões MVVM (model-view-viewmodel) e RxUI (ReactiveUI). Além disso, o .NET MAUI oferecerá suporte aos padrões de desenvolvimento MVU (model-view-update) e Blazor.

O padrão MVU fornece uma maneira unificada de construir front-ends nativos multiplataforma a partir de uma única base de código. Ele também nos permite escrever código de interface do usuário e lógica em C #, conforme mostrado abaixo.

readonly Estado contador = 0;
[Body]
View body() => new StackLayout
{
    new Label("Bem-Vindo ao .NET MAUI !!"),
    new Button(
        () => $"Você clicou {contador} vezes",
        () => contador.Value++)
   ) 
};

Como sabemos, o Blazor é um dos modelos de programação mais adaptáveis para a construção de aplicativos da web. O .NET 6 estenderá os cenários de destino do Blazor para incluir aplicativos de desktop nativos que podem depender de renderização baseada na web. A área de trabalho do Blazor será estruturada de forma semelhante à forma como o Electron funciona.

4- Suporte completo ao Hot Reload

O NET .MAUI o desenvolvedor vai poder ter a experiência completa do Hot Reload o que vai aumentar sua produtividade. (Até o momento o suporte ao Hot Reload no Xamarin Forms não era uma experiência completa.)

5- Unificação das bibliotecas

Com o NET MAUI temos a unificação de bibliotecas críticas. Ele oferece vários benefícios ao mesclar a biblioteca Xamarin.Essentials no .NET MAUI para que você possa usar facilmente os recursos do dispositivo, como sensores de dispositivo, fotos, contatos e muitos serviços que você usa regularmente, como autenticação e armazenamento seguro.

Conclusão

Essas são algumas das vantagens que o .NET MAUI apresenta sobre o Xamarin .Forms, mas existem ainda novos controles, leiautes, temas e também uma melhor otimização de código e tamanho do projeto.

Cabe destacar que o lançamento do .NET MAUI foi postergado para o primeiro semestre de 2022 mas você pode acompanhar o desenvolvimento e fazer o testes usando o .NET MAUI Preview 10 que foi integrado a versão preview 17.1 do Visual Studio 2022.

Se quiser conferir e acompanhar o desenvolvimento do .NET MAUI acesse : https://github.com/dotnet/maui.

"Quanto lhe for possível, não deixe de fazer o bem a quem dele precisa"
Provérbios 3:27

Referências:


José Carlos Macoratti