.NET MAUI - Adeus Xamarin Forms ???


No Microsoft Build 2020, foi anunciado o .NET MAUI (Multi-platform App UI) , e neste artigo eu vou fazer um apanhado geral sobre os principais recursos desta plataforma.

A proposta do .NET MAUI é ser um framework para UI no .NET 6 para criação de aplicativos Windows, iOS, Android e macOS com um único projeto e base de código.

Teremos assim um framework open-source capaz de criar um projeto para Android e iOS com uma única interface e também criar aplicativos desktop para Windows e MacOS.

E ao invés de termos projetos separados para cada plataforma teremos apenas um único projeto, bastando apenas escolher em qual plataforma instalar o projeto.

Isso pode ser visto na figura abaixo:

 

 

Observe que algumas partes do código podem ser especializadas para a plataforma, mas está tudo no mesmo projeto  com separação lógica para os recursos específicos de cada plataforma como fontes, imagens e classes de acesso a APIs, e, na hora de buildar ele pegará as partes relevantes para o projeto alvo usado no momento.

Assim, a proposta e evoluir a ferramenta, corrigir alguns erros, o que for obsoleto e os problemas de design do Xamarin Forms. Para isso e framework terá uma melhor renderização e aperfeiçoará alguns recursos como a injeção de dependência.

O .NET 6 trata da produtividade do desenvolvedor, parte dessa produtividade significa não ficar preso a nenhum padrão arquitetônico individual com o qual você possa não se sentir confortável.

Os desenvolvedores em .NET MAUI podem escolher usar o padrão de arquitetura MVVM tradicionalmente aceito para escrever interfaces de usuário multiplataforma ou o padrão MVU (Model-View-Update), que é uma experiência de interface de usuário code-first e pode desenvolver suas views usando a fluente C# UI (C# for Markup)

Nota: Existe a promessa do Hot Reload funcionando para o desenvolvimento de views com fluent C# UI.

O .NET MAUI, vai usar os mesmos controles XAML usado no Xamarin Forms e Microsoft pretende tornar o processo de migração do Xamarin.Forms para MAUI o mais fácil possível fornecendo guias de migração, bem como ferramentas para converter seus projetos existentes.

Mas o que vai acontecer com o  Xamarin ?

As tecnologias nativas Xamarin (Xamarin.iOS, Xamarin.Android) são vinculações com as tecnologias de plataforma nativas oferecidas pelos fornecedores de sistemas operacionais. Este conceito é fundamental para Xamarin.Forms e .NET MAUI. Assim essas tecnologias continuarão existindo, mas serão incorporadas ao .NET 6 como cidadãos de primeira classe.

Após o lançamento do .NET 6, a equipe do Xamarin lançará as versões finais dos SDKs do Xamarin como existem hoje e continuará atendendo esses SDKs e Xamarin.Forms por um ano.

Depois disso, o suporte será totalmente mudado para .NET MAUI, .NET para Android e .NET para iOS e as versões do .NET MAUI serão distribuídas com as versões da plataforma  .NET.

Confira abaixo a tabela com as diferenças entre o Xamarin Forms e o MAUI :

A previsão e fazer o lançamento do .NET MAUI  junto com o  .NET 6 em novembro de 2021, havendo previews das versões antes do lançamento oficial.

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

"Se o mundo vos odeia, sabei que, primeiro do que a vós, me odiou a mim.
Se vós fôsseis do mundo, o mundo amaria o que era seu, mas porque não sois do mundo, antes eu vos escolhi do mundo, por isso é que o mundo vos odeia."

João 15:18,19

Referências:


José Carlos Macoratti