O que é o .NET MAUI?
- #.NET
- #.NET C#
O MAUI (Interface do Usuário de Aplicativo multiplataforma do .NET) é uma estrutura multiplataforma para criar aplicativos móveis e desktop nativos com C# e XAML.
Usando o .NET MAUI, você pode desenvolver aplicativos que podem ser executados em Android, iOS, macOS e Windows de uma única base de código compartilhada.
O .NET MAUI é de software livre e é a evolução do Xamarin.Forms, estendido de cenários móveis para desktop, com controles de interface do usuário recriados do zero para desempenho e extensibilidade. Se você já usou o Xamarin.Forms anteriormente para criar interfaces de usuário multiplataforma, você observará muitas semelhanças com o .NET MAUI. No entanto, também há algumas diferenças. Usando o .NET MAUI, você pode criar aplicativos de várias plataformas usando um único projeto, mas pode adicionar código-fonte e recursos específicos da plataforma, se necessário. Um dos principais objetivos do .NET MAUI é permitir que você implemente o máximo possível de sua lógica de aplicativo e layout de interface do usuário em uma única base de código.
Para quem é o .NET MAUI
O .NET MAUI é para desenvolvedores que desejam:
- Escrever aplicativos multiplataforma em XAML e C#, de uma única base de código compartilhada em Visual Studio.
- Compartilhar o layout e o design da interface do usuário entre plataformas.
- Compartilhar código, testes e lógica de negócios entre plataformas.
Como funciona o .NET MAUI
O .NET MAUI unifica as APIs de Android, iOS, macOS e Windows em uma única API que permite uma experiência de desenvolvedor de execução única de gravação, além de fornecer acesso profundo a todos os aspectos de cada plataforma nativa.
O .NET 6 fornece uma série de estruturas específicas da plataforma para criar aplicativos: .NET para Android, .NET para iOS, .NET para macOS e biblioteca Windows interface do usuário 3 (WinUI 3). Todas essas estruturas têm acesso à mesma BCL (Biblioteca de Classes Base) do .NET 6. Essa biblioteca abstrai os detalhes da plataforma subjacente longe do código. O BCL depende do runtime do .NET para fornecer o ambiente de execução para seu código. Para Android, iOS e macOS, o ambiente é implementado pelo Mono, uma implementação do runtime do .NET. No Windows, o Win32 fornece o ambiente de execução.
Embora a BCL permita que aplicativos em execução em diferentes plataformas compartilhem a lógica de negócios comum, as várias plataformas têm diferentes maneiras de definir a interface do usuário para um aplicativo e fornecem modelos variados para especificar como os elementos de uma interface do usuário se comunicam e interoperam. Você pode criar a interface do usuário para cada plataforma separadamente usando a estrutura específica da plataforma apropriada (.NET para Android, .NET para iOS, .NET para macOS ou WinUI 3), mas essa abordagem exige que você mantenha uma base de código para cada família individual de dispositivos.
O .NET MAUI fornece uma única estrutura para a criação das interfaces do usuário para aplicativos móveis e de área de trabalho. O diagrama a seguir mostra uma exibição de alto nível da arquitetura de um aplicativo .NET MAUI:
Em um aplicativo .NET MAUI, você escreve um código que interage principalmente com a API .NET MAUI (1). O .NET MAUI consome diretamente as APIs da plataforma nativa (3). Além disso, o código do aplicativo pode exercer diretamente as APIs da plataforma (2), se necessário.
Os aplicativos .NET MAUI podem ser gravados no PC ou no Mac e compilados em pacotes de aplicativos nativos:
- Android aplicativos criados usando o .NET MAUI compilam do C# para il (linguagem intermediária), que é então JIT (just-in-time) compilado em um assembly nativo quando o aplicativo é iniciado.
- iOS aplicativos criados usando o .NET MAUI são totalmente antecipados (AOT) compilados do C# para o código de assembly nativo do ARM.
- macOS aplicativos criados usando o .NET MAUI usam o Mac Catalyst, uma solução da Apple que traz seu aplicativo iOS criado com UIKit para a área de trabalho e aumenta-o com APIs adicionais do AppKit e da plataforma, conforme necessário.
- Windows aplicativos criados usando o .NET MAUI usam Windows biblioteca do WinUI 3 (interface do usuário 3) para criar aplicativos nativos direcionados à área de trabalho Windows.
Observação:
Criar aplicativos para iOS e macOS requer um Mac.
O que o .NET MAUI fornece
O .NET MAUI fornece uma coleção de controles que podem ser usados para exibir dados, iniciar ações, indicar atividade, exibir coleções, selecionar dados e muito mais. Além de uma coleção de controles, o .NET MAUI também fornece:
- Um mecanismo de layout elaborado para criar páginas.
- Vários tipos de página para criar tipos de navegação avançados, como gavetas.
- Suporte para associação de dados, para padrões de desenvolvimento mais elegantes e mantêveis.
- A capacidade de personalizar manipuladores para aprimorar a maneira como os elementos da interface do usuário são apresentados.
- APIs multiplataforma para acessar recursos de dispositivo nativo. Essas APIs permitem que os aplicativos acessem recursos do dispositivo, como o GPS, o acelerômetro e os estados de bateria e rede.
- Funcionalidade de gráficos multiplataforma, que fornece uma tela de desenho que dá suporte a desenho e pintura de formas e imagens, composição de operações e transformações de objeto gráfico.
- Um único sistema de projeto que usa vários direcionamentos para direcionar Android, iOS, macOS e Windows.
- Recarregamento frequente do .NET, para que você possa modificar o XAML e o código-fonte gerenciado enquanto o aplicativo estiver em execução e observar o resultado de suas modificações sem recompilar o aplicativo.
APIs multiplataforma para recursos de dispositivo
O .NET MAUI fornece APIs multiplataforma para recursos de dispositivo nativo. Exemplos de funcionalidade fornecidos pelo .NET MAUI para acessar recursos do dispositivo incluem:
- Acesso a sensores, como o acelerômetro, a bússola e o giroscópio nos dispositivos.
- Capacidade de verificar o estado de conectividade de rede do dispositivo e detectar alterações.
- Forneça informações sobre o dispositivo em que o aplicativo está em execução.
- Copie e cole texto na área de transferência do sistema, entre aplicativos.
- Escolha arquivos únicos ou múltiplos do dispositivo.
- Armazene dados com segurança como pares chave/valor.
- Utilize mecanismos internos de texto em fala para ler texto do dispositivo.
- Inicie fluxos de autenticação baseados em navegador que escutam um retorno de chamada para uma URL registrada de aplicativo específico.
Projeto único
O projeto único do .NET MAUI usa as experiências de desenvolvimento específicas da plataforma que você normalmente encontra ao desenvolver aplicativos e os abstrai em um único projeto compartilhado que pode direcionar Android, iOS, macOS e Windows.
O projeto único do .NET MAUI fornece uma experiência de desenvolvimento multiplataforma simplificada e consistente, independentemente das plataformas que estão sendo direcionadas. O projeto único do .NET MAUI fornece os seguintes recursos:
- Um único projeto compartilhado que pode ser direcionado a Android, iOS, macOS e Windows.
- Uma seleção de destino de depuração simplificada para executar seus aplicativos MAUI do .NET.
- Arquivos de recursos compartilhados no único projeto.
- Um único manifesto de aplicativo que especifica o título do aplicativo, a ID e a versão.
- Acesso a APIs e ferramentas específicas da plataforma quando necessário.
- Um único ponto de entrada de aplicativo multiplataforma.
O projeto único do .NET MAUI está habilitado usando vários direcionamentos e o uso de projetos no estilo SDK no .NET 6.
Recarga Dinâmica
O .NET MAUI inclui suporte para recarregamento frequente do .NET, que permite modificar o código-fonte gerenciado enquanto o aplicativo está em execução, sem a necessidade de pausar ou atingir manualmente um ponto de interrupção. Em seguida, as edições de código podem ser aplicadas ao aplicativo em execução sem recompilação.
O .NET MAUI inclui suporte para recarga dinâmica XAML, que permite salvar seus arquivos XAML e ver as alterações refletidas em seu aplicativo em execução sem recompilação. Além disso, seu estado de navegação e dados serão mantidos, permitindo que você itera rapidamente em sua interface do usuário sem perder seu lugar no aplicativo.
Fonte:
https://docs.microsoft.com/en-us/dotnet/maui/what-is-maui
LinkedIn: