Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon O MVVMcross pode ser integrado a outras estruturas ou bibliotecas


O MVVMcross pode ser integrado a outras estruturas ou bibliotecas


O MVVMcross é uma estrutura MVVM versátil e extensível projetada para o desenvolvimento de plataformas cruzadas, particularmente dentro do ecossistema .NET. Ele suporta uma ampla gama de plataformas, incluindo Xamarin.ios, Xamarin.android, Xamarin.forms, Universal Windows Platform (UWP) e Windows Apresentation Framework (WPF) [1] [2] [4]. Um dos principais recursos do MVVMCROSS é a capacidade de se integrar a outras estruturas e bibliotecas, aprimorando sua utilidade no desenvolvimento complexo de aplicativos.

integração com outras estruturas

1. Integração do CSLA.NET: MVVMCROSS pode ser usada ao lado do CSLA.NET, uma estrutura de objetos de negócios. Enquanto o CSLA.NET se concentra na lógica de negócios e na modelagem de dados, o MVVMCROSS lida com a interface do usuário e a lógica no nível do aplicativo. Os desenvolvedores podem aproveitar a estrutura de objetos de negócios da CSLA.NET herdando a `ViewModelBase` da CSLA e implementando os requisitos da MVVMcross. Essa integração permite o compartilhamento de código entre as plataformas, mantendo uma clara separação de preocupações [5].

2. Integração reativeUi: Embora MVVMcross e ReactiveUI sejam estruturas MVVM, elas servem a propósitos diferentes. O MVVMCROSS está mais focado em aplicativos móveis nativos e compartilhamento de código, enquanto o ReactiveUi enfatiza a programação reativa usando extensões reativas (RX). Embora possam coexistir, eles geralmente são usados ​​para diferentes aspectos do desenvolvimento de aplicativos. O MVVMcross fornece um conjunto abrangente de recursos para o desenvolvimento da interface do usuário, enquanto o ReactiveUi é ideal para aplicações que requerem operações assíncronas avançadas [7].

3. Xamarin.Forms e outras estruturas da interface do usuário: O MVVMCROSS suporta integração com Xamarin.forms, permitindo que os desenvolvedores criem aplicativos de plataforma cruzada com a lógica de negócios compartilhada. Também funciona bem com outras estruturas da interface do usuário, como Maui e WPF, fornecendo flexibilidade na escolha da camada da interface do usuário [3] [7].

4. Framework para plug-in: MVVMCROSS inclui uma estrutura de plug-in que permite que os desenvolvedores estendam sua funcionalidade adicionando plug-ins de terceiros para recursos como localização GPS, localização e extensões de ligação. Essa extensibilidade permite que os desenvolvedores personalizem a estrutura de acordo com as necessidades do projeto [1] [2].

Principais recursos Facilitando a integração

- Inversão do controle (COI) e injeção de dependência: o MVVMCROSS fornece um contêiner do IOC que facilita a injeção de dependência, facilitando a integração de outras estruturas, gerenciando dependências e serviços em todo o aplicativo [1] [4].

- mecanismo de ligação personalizável: a estrutura permite que os desenvolvedores criem ligações personalizadas para suas visões, o que pode ser útil ao integrar com outros componentes ou estruturas da interface do usuário que requerem mecanismos específicos de ligação de dados [1] [2].

- ViewModel to ViewModel Navegação: Esse recurso ajuda a gerenciar a lógica de navegação, que pode ser integrada aos padrões de navegação de outras estruturas para garantir uma experiência consistente do usuário em diferentes plataformas [1] [2].

Em resumo, o MVVMcross foi projetado para ser altamente integrável com outras estruturas e bibliotecas, permitindo que os desenvolvedores alavancem seus pontos fortes na arquitetura MVVM, incorporando funcionalidades adicionais de outras ferramentas. Sua extensibilidade e suporte para várias plataformas o tornam uma escolha versátil para o desenvolvimento de aplicativos entre plataformas.

Citações:
[1] https://github.com/mvvmcross/mvvmcross
[2] https://dotnet.libhunt.com/mvvmcross-alternatives
[3] https://visualstudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx
[4] https://www.mvvmcross.com/documentation/getting-started/getting-started
[5] https://stackoverflow.com/questions/17373587/how-well-would-mvvmcross-and-csla-net-work-together-d-a-multi-plataform-strategy
[6] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[7] https://www.reactiveui.net/vs/mvvMcross
[8] https://www.mvvmcross.com
[9] https://github.com/rogerwcpt/xamarin-mvvvm-frameworks