balta.io balta.io
  • Cursos
  • Carreiras
  • Para sua Empresa
  • Agenda
  • Blog

Seja Premium
balta.io

  • Cursos
  • Carreiras
  • Para sua Empresa
  • Agenda
  • Blog
  • Player
Seja Premium

Entre ou Cadastre-se

  • Home
  • Artigos
  • .NET MAUI - Hands On


.NET MAUI - Hands On

MAUI é a sigla para Mult Application User Interface, ou interfaces para múltiplas plataformas, uma tecnologia nova e moderna da Microsoft para criação de interfaces.

.NET 6 - Preview 2

O MAUI passou teve sua primeira aparição agora em Março de 2021, no Preview 2 do .NET 6, que tem seu lançamento previsto para Novembro de 2021.

Se você ainda não viu as novidades do .NET 6, dá uma olhada nos artigos .NET 6 - Preview 1 e .NET 6 - Preview 2 onde mostramos tudo que rolou de bom nestas releases.

Voltando ao tópico principal, esta versão ainda é um Preview, ou seja, está longe de ter sua versão final para produção, então, use por sua conta e risco.

MAUI e Xamarin

Muitas mudanças estão por vir e a primeira delas é que o MAIU na verdade é uma evolução do Xamarin, então se você já conhece e usa a tecnologia, estará bem em casa.

A ideia principal do MAUI é trazer todo o ecossistema do Xamarin para dentro do .NET, modernizando a forma como usamos a tecnologia hoje.

Um bom exemplo disso é que poderemos utilizar o Visual Studio Code para codar nossos Apps, junto a comandos como dotnet new android por exemplo, para iniciar um projeto.

Além disso, o MAUI unifica todos os projetos, dispensando a criação de projetos específicos para plataformas (Android/iOS) e melhorando ainda mais o compartilhamento de código.

Futuramente o MAUI trará integrações com Web utilizando Blazor, sintaxe declarativa (Especulação) e muito mais.

Instalando o .NET 6 - Preview 2

Para executar estas demos você precisará instalar o .NET 6 - Preview 2, que rodará ao lado de outras SDKs e Runtimes do .NET na sua máquina. No caso, para os exemplos precisamos do SDK instalado.

Você pode verificar a versão do .NET instalada executando o comando dotnet --version ou dotnet --list-sdks para visualizar todas.

Carregando os Workloads

Para poder compilar os Apps para diferentes plataformas, precisamos instalar alguns Workloads adicionais e este passo, depende do que você quer compilar.

No meu caso, como estou no Mac, acabei instalando todos os pacotes contidos nesta página.

  • Microsoft.NET.Workload.Android-11.0.200.148
  • Microsoft.iOS.Bundle.14.4.100-ci.main.1192
  • Microsoft.MacCatalyst.Bundle.14.3.100-ci.main.337

O Workload do Mac Catalyst é para podermos criar Apps que rodam tanto em MacOs quanto iOS com apenas alguns ajustes na interface.

Seu primeiro App MAUI

Ainda não temos um comando para criar um App via CLI, então precisamos clonar o exemplo que temos do MAUI direto do GitHub oficial dele.

Caso você precise de ajuda com Git/GitHub, leia este artigo onde mostro como configurar e dar seus primeiros passos com eles.

Vamos então clonar o repositório utilizando o comando git clone como mostrado abaixo.

git clone https://github.com/dotnet/net6-mobile-samples.git

Feito isto, abra a pasta clonada com o Visual Studio Code, ele já vem com suporte e pedirá para instalar algumas extensions adicionais quando o projeto carregar.

Na página oficial do MAUI no GitHub (De onde clonamos o exemplo) tem mais informações sobre como utilizar o Visual Studio e Visual Studio For Mac com .NET 6 caso precise.

cd net6-mobile-samples
code .

O que mudou?

Este exemplo trás quatro Apps, HelloAndroid, HelloiOS, HelloMacCatalyst e o que nós queremos, que é o HelloMaui.

Se você examinar estas outras pastas, verá que são aplicações Xamarin, dedicadas especificamente a uma plataforma, porém se você examinar a pasta HelloMaui verá que a mesma contém as pastas do Android, iOS e MacCatalyst também.

Isto deve-se ao fato que o MAUI unificou os projetos e já traz tudo integrado para nós. Em suma, vamos focar em um projeto e ter como resultado a interface para várias plataformas.

Build

Para compilar uma aplicação específica, como a do iOS por exemplo, podemos executar o comando:

dotnet build HelloiOS
dotnet build HelloiOS -t:Run

Utilizamos o flag -t:Run para executar nosso App em um emulador disponível no ambiente.

Para o projeto MAUI as coisas são diferentes, além do -t:Run, precisamos especificar a plataforma utiliza o flag -f.

dotnet build HelloMaui -t:Run -f net6.0-android --no-restore
dotnet build HelloMaui -t:Run -f net6.0-ios --no-restore
dotnet build HelloMaui -t:Run -f net6.0-maccatalyst --no-restore

No momento os nomes das plataformas ainda estão com o prefixo net6.0-, mas acredito que isto mudará com o tempo. Também precisei adicionar o flag --no-restore por conta de um bug que acredito ser corrigido nas próximas versões.

Executando o App

Você pode executar os comandos anteriores (Não ao mesmo tempo) e visualizar o App em diversos dispositivos para notar que é realmente o mesmo visual.

No meu caso, executei no MacOs e simulador do iPad para conferir o resultado e realmente ficou muito bacana.

MAUI

Claro que é uma versão inicial ainda, os componentes não estão 100% polidos, mas podemos esperar uma boa compatibilidade entre diferentes dispositivos futuramente.

Fonte

  • Página Oficial do MAUI

Populares

Priority Queue

Priority Queue ou fila prioritária é um tipo de lista inclusa no C# 10 que permite que seus itens...


Implicit Operators no C#

Implicit Operators permitem adicionar comportamentos de conversão a objetos Built In ou complexos...


ASP.NET 5 – Autenticação e Autorização com Bearer e JWT

Este artigo atualmente utiliza a versão 5.0.0-rc.1 do ASP.NET/.NET, o que significa que ainda não...


Clean Code - Guia e Exemplos

Saiba como manter seu código limpo (Clean Code) seguindo algumas práticas sugeridas pelo Robert C...


Git e GitHub - Instalação, Configuração e Primeiros Passos

Git é um sistema de controle de versões distribuídas, enquanto GitHub é uma plataforma que tem o ...


Compartilhe este artigo



Conheça o autor

André Baltieri

André Baltieri

Microsoft MVP

Me dedico ao desenvolvimento de software desde 2003, sendo minha maior especialidade o Desenvolvimento Web. Durante esta jornada pude trabalhar presencialmente aqui no Brasil e Estados Unidos, atender remotamente times da ?ndia, Inglaterra e Holanda, receber 8x Microsoft MVP e realizar diversas consultorias em empresas e projetos de todos os tamanhos.





2.380

Aulas disponíveis

232

horas de conteúdo

50.896

Alunos matriculados

35.193

Certificados emitidos





Comece de graça agora mesmo!

Temos mais de 17 cursos totalmente de graça e todos com certificado de conclusão.

Começar


Prefere algo mais Premium?

Conheça nossos planos



Premium semestral

Compra única, parcelada em até
12x no cartão de crédito


12x R$

41

,48

=R$ 497,80
  • 6 meses de acesso
  • Acesso à todo conteúdo
  • Emissão de Certificado
  • Tira Dúvidas Online
  • 52 cursos disponíveis
  • 4 carreiras disponíveis
  • 161 temas de tecnologia
  • Conteúdo novo todo mês
  • Encontros Premium

Começar agora

Política de privacidade

Premium anual

Compra única, parcelada em até
12x no cartão de crédito


12x R$

70

,65

=R$ 847,80
  • 1 ano de acesso
  • Acesso à todo conteúdo
  • Emissão de Certificado
  • Tira Dúvidas Online
  • 52 cursos disponíveis
  • 4 carreiras disponíveis
  • 161 temas de tecnologia
  • Conteúdo novo todo mês
  • Encontros Premium

Começar agora

Política de privacidade



Precisa de ajuda?

Dúvidas frequentes



  • Posso começar de graça?

    Sim! Basta criar sua conta gratuita no balta.io e começar seus estudos. Nós contamos com diversos cursos TOTALMENTE gratuitos e com certificado de conclusão.

  • Vou ter que pagar algo?

    Nós temos cursos gratuitos e pagos, porém você não precisa informar nenhum dado de pagamento para começar seus estudos gratuitamente conosco. Os cursos gratuitos são completos e com certificado de conclusão, você não paga nada por eles.

    Porém, caso queira algo mais Premium , você terá acesso à diversos benefícios que vão te ajudar ainda mais em sua carreira.

  • Por onde devo começar?

    Siga SEMPRE as nossas Carreiras , elas vão te orientar em todos os sentidos. Os cursos já estão organizados em categorias e carreiras para facilitar seu aprendizado.
    Nossa sugestão para aprendizado é começar pelo Backend e seguindo para Frontend e Mobile.

    • Backend
    • Frontend
    • Mobile

  • Os cursos ensinam tudo que preciso?

    Nenhum curso no mundo vai te ensinar tudo, desculpa ser sincero! Os cursos são uma base, eles fornecem por volta de 30% do que você precisa aprender, o resto é com você, com dedicação e MUITA prática.

  • O que eu devo estudar?

    Java ou .NET? Angular ou React? Xamarin ou Flutter? A resposta é simples e direta: "Você já sabe o básico?"

    Se você ainda não sabe BEM o básico, ou seja, os fundamentos, OOP, SOLID, Clean Code, está perdendo tempo estudando Frameworks ou até coisas mais avançadas como Docker. Foque nos seus objetivos primeiro.
    Agora se você está indeciso sobre qual Framework estudar, a boa notícia é que o mercado neste momento está bem aquecido e você tem várias oportunidade. Desta forma o que levaríamos em conta para tomar esta decisão seria:

    • Já sei o básico
    • O Framework/Tecnologia tem mercado onde eu estou (região)
    • O Framework/Tecnologia é utilizado em uma empresa onde quero atual
    • O Framework/Tecnologia resolve meu problema
    • Eu gosto de utilizar o Framework/Tecnologia

  • Estou pronto para estudar no balta.io?

    Com certeza! O primeiro passo é começar e você pode fazer isto agora mesmo!

    Começar de graça

Ainda tem dúvidas?





Assine nosso Newsletter

Receba em primeira mão todas as nossas novidades.

Cadastrar


balta.io

Sobre

  • Como funciona?
  • Seja Premium
  • Agenda
  • Blog
  • Todos os cursos

Cursos

  • Frontend
  • Backend
  • Mobile
  • Fullstack

Suporte

  • Termos de uso
  • Privacidade
  • Cancelamento
  • Central de ajuda

Redes Sociais

  • Telegram
  • Facebook
  • Instagram
  • YouTube
  • Twitch
  • LinkedIn
  • Discord