Olá amigos, hoje é um dia especial para alguém que do nada resolveu aprender MAUI (.NET Multi-platform App UI), se esse é você, então, vem comigo porque eu bolei essa série de artigos que tentarão sanar as dúvidas que mais recebo da comunidade em grupos do telegram que participo, e também, não menos importante, fiz um tutorial com as principais bibliotecas que você deve ter no seu projeto, estrategias de organização de projeto, uso da arquitetura MVVM, Injeção de dependência e muito mais. Prometo ser o mais objetivo possivel nesse post em sanar tais duvidas. Então vamos lá:
O que é MAUI e qual a sua diferença para o WPF, UWP e Windows Forms?
Para início de conversa, entenderemos que MAUI (.NET Multi-platform App UI) é uma estrutura multiplataforma que também tem esse mesmo proposito, porem com uma outra arquitetura menos extensiva, dado que nos obriga quase sempre a mudar de projetos para efetuar mudanças de acordo com a plataforma, por exemplo.
O Principio de criação de interface no MAUI usa principalmente O XAML e C#, o que se assemelha com outras tecnologias para desenvolvimento para Windows desktop como o WPF (Windows Presentation Foundation) e UWP (Universal Windows Platform). A maior diferença entre essas tecnologias são os propositos delas. Enquanto no WPF a gente somente cria aplicativos para Windows Desktop, ele não é multiplataforma, porém te permite acessar as interface do sistema operacional ao contrario do UWP.
O UWP (Universal Windows Platform) é um tipo de arquitetura para desenvolvimento desktop com o diferencial que lhe permite usar a mesma base de código para publicação em outras versões do windows para PC, Tablets, XBOX e Hololens, antigamente era também usado para criação de apps para o finado Windows Phone. Nele também usamos XAML e C# para criação de interfaces, mas ao contrario do WPF, os apps que rodam nessa tecnologia estarão sendo executados dentro de uma sandbox, e para ter acesso a recursos do sistema operacional, é preciso pedir permissão ao Usuário, semelhante ao que acontece com Android e IOS.
Vamos falar um pouco do Windows Forms, uma tecnologia antiga, porém viva, e com muitos devs desempenhados em manter assim, é uma tecnologia que foi predecessora do WPF, seu diferencial é que te permite sofrer enquanto estar à criar aplicativos para windows usando o que chamados de WYSIWYG (what you see is what you get) e também adicionando controles em tempo de execução, e seus componentes são compativeis com o WPF e vice-versa, ele executa da mesma forma do WPF, e também te permite acessar interfaces do sistema operacional sem pedir permissão como o UWP, porém não é multiplataforma, como também você não tem um XML charmoso onde você pode controlar os controles na interface, restringindo sua interação a clicar e arrastar controles e adicionar eventos para executar comandos.
Então, resumindo:
- WPF (Windows Presentation Foundation):
- É uma tecnologia para criar aplicativos de desktop no Windows.
- Usa XAML para definir a interface do usuário.
- Foi projetado principalmente para Windows.
- Não é multiplataforma.
- UWP (Universal Windows Platform):
- Também é para aplicativos de desktop no Windows.
- Usa XAML e C#.
- Foi projetado para ser executado em várias versões do Windows.
- Suporta dispositivos como PCs, tablets, Xbox e HoloLens.
- Windows Forms:
- É uma tecnologia mais antiga para criar aplicativos de desktop no Windows.
- Usa C# e uma abordagem baseada em eventos.
- Não é multiplataforma.
- .NET MAUI:
- Unifica as APIs do Android, iOS, macOS e Windows em uma única API.
- Permite compartilhar código, testes e lógica de negócios entre plataformas.
- Oferece controles de interface do usuário recriados do zero para melhor desempenho.
- É a escolha ideal para desenvolvedores que desejam criar aplicativos multiplataforma com uma única base de código.
Vamos ao que interessa, seu primeiro App MAUI!
Ufa, depois dessa longa explicação, agora vamos entender por onde começar. Estarei usando o sistema operacional Windows com o .
Então vamos explorar o template inicial que a Microsoft nos fornece ao criar nosso primeiro app.
- Vamos começar criando um novo projeto no visual studio e selecionando o tipo de projeto MAUI como na imagem abaixo:
e voilá, agora temos o nosso projeto aqui, mas o que nós estamos vendo?
, porém podemos descartá-lo e usar a navegação vanilla
Deixo esse vídeo para motivar vocês a ler esse artigo:
Até a próxima! 👋
SOCIAL SHARE CARD GENERATOR