C# - Xamarin Forms x .NET MAUI


 Hoje vamos fazer uma comparação entre os recursos atuais do Xamarin Forms e o que se espera ou foi prometido para a nova plataforma .NET MAUI que virá substituir o Xamarin Forms.

A partir de agora tudo o que eu for escrever aqui foi baseado nas apresentações e comunicados da Microsoft para a comunidade com relação ao .NET MAUI.

O framework .NET MAUI é uma evolução do kit de ferramentas Xamarin Forms para a construção de UIs nativas para Windows, iOS e Android a partir de uma única base de código. O MAUI também adiciona suporte ao MacOS e também vai oferecer suporte a novos dispositivos, como o Microsoft Surface Duo.

A palavra ‘evoluir’ aqui diz claramente que nada está sendo perdido ou descartado, ou seja, a evolução significa que todas as pilhas da IU são iguais e tudo ficará mais rápido, melhor e fácil para os desenvolvedores. Supõe-se assim que você, que já investiu no Xamarin Forms, deve aproveitar muita coisa do que já aprendeu.

O MAUI é uma parte dos esforços recentes da Microsoft para unificar a plataforma .NET.

Porque?

Atualmente a plataforma .NET esta segmentada, e com o objetivo de melhorar o desempenho de aplicativos e simplificar o desenvolvimento de aplicativos multiplataforma é necessários unificar os recursos. Assim,  os recursos nativos de cada plataforma e controle de IU estarão em uma nova API de plataforma cruzada para que os desenvolvedores forneçam experiências de usuário sem comprometimento enquanto compartilham ainda mais código do que antes.

Vamos agora aos recursos chaves do .NET MAUI :

  1. Estrutura de Projeto Único

Um dos recursos mais esperado. A estrutura do projeto agora é uma fonte única para várias plataformas, com implantação em um único clique.

Imagens, fontes e arquivos de tradução podem ser facilmente adicionados a um único projeto, com ganchos nativos configurados automaticamente.

  1. Renderizadores Slim

No .NET MAUI, os renderizadores que estão disponíveis agora irão evoluir para renderizadores slim. Os renderizadores serão reprojetados e construídos do zero para ter mais desempenho.

  1. Suporte de código do Visual Studio Code

O .NET MAUI oferecerá suporte ao Visual Studio Code (VS Code). Era o que muitos desenvolvedores desejavam.

  1. Suporte a vários padrões de design

O Model-View-View-Model (MVVM) e XAML são recursos de primeira classe no .NET MAUI. Os desenvolvedores agora podem implementar o padrão Model-View-Update (MVU). O MVU promove um fluxo unilateral de dados e gerenciamento de estado junto com uma experiência de desenvolvimento de código, que atualiza a IU aplicando as mudanças necessárias.

Para ajudar os desenvolvedores a fazer uma transição suave de aplicativos existentes para .NET MAUI, a Microsoft planeja fornecer suporte ‘Try-N-Convert’ e guias de migração como o que eles têm oferecido para migrar para .NET Core.

Achou pouco ?

Então a seguir temos um vislumbre das principais diferenças, segundo a Microsoft,  entre o .NET MAUI e o Xamarin Forms :

1- Como o .NET MAUI e o Xamarin forms diferem da perspectiva dos recursos ?

Parâmetros Xamarin Forms .NET MAUI

Recursos

Renderizadores Fortemente acoplado com
BindableObject
Fracamente acoplado,

Sem mais dependências

App Models MVVM, RxUI MVVM, RxUI, MVU, Blazor
Single Project Não Sim
Muilt-targeting Não Sim
Multi-Window Não Sim

2- Como o .NET MAUI e o Xamarin forms diferem da perspectiva das ferramentas:

Parâmetros Xamarin Forms .NET MAUI

Ferramentas

Visual Studio 2019 Sim Sim
Visual Studio 2019
for Mac

 

Sim Sim
Visual Studio Code Não Sim

3- Como o .NET MAUI e o Xamarin forms diferem da perspectiva das Plataformas:

Parâmetros Xamarin Forms .NET MAUI

Plataforms

Android API 19+ API 21+
iOS 9-13 10+
Linux Community Community
macOS Community Microsoft
Tizem SamSung SamSung
Windows UWP Microsoft
WPF Community
Microsoft

3- Como o .NET MAUI e o Xamarin forms diferem de outros parâmetros :

Parâmetros Xamarin Forms .NET MAUI

Outros parâmetros

.NET Xamarin.iOS,
Xamarin.Android,
Mono, .NET Framework
NET 6+
Acquisition 9-13 Dotnet
Project System Franken-proj SDK Style
Dotnet CLI Não Sim

Diante deste quadro não há como não ficar entusiasmado e ansioso para poder usar o framework .NET MAUI para desenvolver aplicações multiplataformas, verificando os novos recursos e as novas possibilidades.

Assim você pode aguardar que estarei publicando as novidades sobre o novo framework assim que possível.

E como já foi lançado o preview 2 do .NET 6, já podemos 'fuçar' os novos recursos incluindo ai uma implementação inicial do .NET MAUI.

Acesse o link com as novidades e baixe o .NET 6 : https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-2/

Referências:


José Carlos Macoratti