Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Quais são os benefícios de usar o MVVMCROSS para desenvolvimento de plataformas cruzadas


Quais são os benefícios de usar o MVVMCROSS para desenvolvimento de plataformas cruzadas


O MVVMcross é uma poderosa estrutura MVVM cruzada que oferece vários benefícios para o desenvolvimento de aplicativos de plataforma cruzada, principalmente quando usados ​​com Xamarin. Aqui estão algumas das principais vantagens do uso do MVVMCROSS:

MVVM Padrão e reutilização de código

O MVVMCROSS permite que os desenvolvedores implementem o padrão Model-View-ViewModel (MVVM), que é benéfico para separar a lógica do aplicativo da interface do usuário. Essa separação permite a reutilização da lógica de negócios em diferentes plataformas, como iOS, Android e Windows, colocando o ViewModels em uma biblioteca de classes portáteis (PCL) ou .NET Standard Library [1] [2]. Essa abordagem aprimora significativamente a reutilização do código, pois o mesmo viewModel pode ser usado em várias plataformas, com cada plataforma implementando sua interface do usuário nativa.

Ligação de dados

O MVVMCROSS suporta a ligação de dados, o que é crucial para o padrão MVVM. A ligação de dados permite que os elementos da interface do usuário sejam atualizados automaticamente quando as alterações de dados subjacentes, reduzindo a necessidade de atualizações manuais e código de caldeira [3] [5]. Esse recurso ajuda a manter uma separação limpa de preocupações entre a interface do usuário e a lógica de negócios.

injeção de dependência e inversão de controle

O MVVMCROSS inclui uma inversão interna de contêiner de controle (IOC) que suporta a injeção de dependência. Isso permite que os desenvolvedores gerenciem facilmente dependências entre componentes e serviços. Ao usar a injeção de construtor, os modelos ViewModels podem receber serviços específicos da plataforma sem precisar conhecer os detalhes da implementação, facilitando a gravação do código de plataforma cruzada [2] [5].

plugins e funcionalidade específica da plataforma

O MVVMCROSS oferece uma arquitetura de plug-in que permite aos desenvolvedores criar e usar recursos específicos da plataforma sem duplicar o código. Esses plugins podem ser facilmente instalados via Nuget e fornecem funcionalidades como acesso à câmera, GPS ou operações de banco de dados, que são implementadas de maneira diferente em cada plataforma [1] [2]. Essa abordagem simplifica a integração de serviços específicos da plataforma em aplicativos entre plataformas.

testabilidade

Um dos benefícios significativos do uso de MVVMcross é a melhor testabilidade dos modelos de vista. Como o ViewModels contém a lógica de negócios e é dissociado da interface do usuário, eles podem ser facilmente testados independentemente do código da interface do usuário específico da plataforma [2] [5]. Isso facilita a gravação de testes de unidade para a lógica do aplicativo.

Navegação e visualização de apresentadores

O MVVMcross fornece um poderoso sistema de navegação ViewModel-First, que inclui ViewPresenters. Esses componentes ajudam a gerenciar como as visualizações são apresentadas em diferentes plataformas, permitindo mais flexibilidade na apresentação da navegação e da interface do usuário [8].

flexibilidade e extensibilidade

MVVMCROSS suporta abordagens de desenvolvimento nativo da Xamarin e Xamarin.Forms, oferecendo flexibilidade na escolha de como implementar a camada da interface do usuário [9]. Além disso, sua natureza de código aberto e comunidade ativa garantem que ela possa ser estendida e personalizada para atender às necessidades específicas do projeto.

No geral, o MVVMCROSS aprimora o desenvolvimento de plataformas cruzadas, promovendo a reutilização do código, simplificando implementações específicas da plataforma e melhorando a manutenção e a testabilidade dos aplicativos.

Citações:
[1] https://www.suneco.nl/blogs/boost-your-xamarin-native-projects-with-mvvmcross/
[2] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvmcross
[3] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[4] https://stackoverflow.com/questions/32220007/what-does-mvvmcross-do-that-xamarin-does-already
[5] https://www.cms.lk/mvvmcross-a-cross-platform-mobile-platform-for-xamarin/
[6] https://www.velvetech.com/blog/5-reasons-use-mobile-cross-platform-development/
[7] https://www.toptal.com/app/xamarin-mvmcross-skiasharp-cross-platform
[8] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[9] https://www.mvvmcross.com/documentation/getting-started/getting-started