Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Quais são as principais diferenças entre o uso de mvvmcross com xamarin.forms e Xamarin Native


Quais são as principais diferenças entre o uso de mvvmcross com xamarin.forms e Xamarin Native


Ao comparar o uso de MVVMcross com o nativo Xamarin.Forms e Xamarin, várias diferenças importantes emergem, principalmente em termos de flexibilidade da UI, compartilhamento de código e abordagem de desenvolvimento.

Flexibilidade e controle da interface do usuário

- Xamarin.Forms: Essa estrutura fornece uma camada de interface do usuário compartilhada entre plataformas, o que simplifica o desenvolvimento, permitindo que você escreva o código da interface do usuário uma vez e a implante em várias plataformas. No entanto, essa interface do usuário compartilhada pode limitar a personalização a recursos específicos da plataforma, exigindo renderizadores personalizados para elementos de interface do usuário mais avançados [7] [9]. O MVVMCROSS pode ser usado com xamarin.forms para gerenciar a lógica e a navegação de negócios, mas a interface do usuário permanece padronizada nas plataformas [1] [10].

- Xamarin Nativo: Ao usar o nativo Xamarin com MVVMcross, você tem controle completo sobre a interface do usuário para cada plataforma. Isso permite implementações de interface do usuário específicas da plataforma, maximizando a aparência nativa de cada plataforma. Embora essa abordagem exija mais esforço para desenvolver camadas de interface do usuário separadas para iOS e Android, ela oferece maior flexibilidade e personalização [7] [9].

compartilhamento e reutilização de código

- xamarin.forms: com xamarin.forms, você pode compartilhar não apenas a lógica de negócios (via mvvmcross), mas também o código da interface do usuário nas plataformas. Isso simplifica o desenvolvimento e reduz a quantidade de código que você precisa manter. No entanto, a interface do usuário é limitada a um conjunto comum de elementos que funcionam em todas as plataformas [4] [10].

- Nativo Xamarin: Em uma configuração nativa de Xamarin com MVVMcross, você pode compartilhar a lógica de negócios (ViewModels) entre plataformas, mas você deve implementar a interface do usuário separadamente para cada plataforma. Essa abordagem permite mais reutilização de código na camada de apresentação e na lógica da interface do usuário ao usar o MVVMCROSS, mas ainda requer desenvolvimento de interface do usuário específico da plataforma [9].

abordagem de desenvolvimento

- xamarin.forms: desenvolver com xamarin.forms e mvvmcross são frequentemente preferidos pelos desenvolvedores sem uma extensa experiência móvel, pois simplifica o desenvolvimento da interface do usuário entre plataformas. A estrutura lida com grande parte da complexidade subjacente, permitindo que os desenvolvedores se concentrem na lógica compartilhada e na interface do usuário [4] [10].

-Xamarina nativa: o desenvolvimento nativo de xamarina com MVVMcross é normalmente favorecido por desenvolvedores que desejam controle de granulação fina sobre a interface do usuário e se sentem confortáveis ​​com o desenvolvimento específico da plataforma. Essa abordagem requer mais experiência no desenvolvimento nativo do iOS e do Android, mas oferece maior flexibilidade no design e implementação da interface do usuário [7] [9].

navegação e encadernação

- xamarin.forms com mvvmcross: navegação em xamarin.forms with mvvmcross é gerenciada no nível do viewmodel, permitindo uma separação limpa de preocupações. O MVVMCROSS fornece recursos aprimorados de ligação, como valores de fallback, embora não possua alguns recursos como a propriedade de origem encontrada nas ligações padrão xamarin.forms [2] [10].

- Xamarin Nativo com MVVMcross: Nos projetos nativos de Xamarin, o MVVMCROSS lida com a navegação e o emparelhamento View/ViewModel, permitindo uma arquitetura MVVM consistente entre as plataformas. Essa configuração permite que os desenvolvedores aproveitem os padrões de navegação específicos da plataforma, mantendo uma camada lógica de negócios compartilhada [3] [9].

Em resumo, embora ambas as abordagens possam aproveitar o MVVMCROSS para a arquitetura MVVM, o Xamarin.forms oferece uma camada de interface do usuário compartilhada com menos controle sobre os recursos da UI específica da plataforma, enquanto o nativo da Xamarin fornece controle total sobre a personalização da interface do usuário, mas requer mais esforço de desenvolvimento para implementações de IU separadas.

Citações:
[1] https://www.mvvmcross.com/documentation/platform/xamarin.forms/xamarin-forms
[2] https://www.xamarinhelp.com/use-xamarin-forms-mvvm-framework/
[3] https://canbilgin.wordpress.com/tag/mvvmcross/
[4] https://www.mvvmcross.com/documentation/getting-started/getting-started
[5] https://www.reddit.com/r/androiddev/comments/6cseds/what_are_the_disadvantages_of_xamarin_for_android/
[6] https://canbilgin.wordpress.com/2017/03/26/xamarin-forms-application-with-mvvmcross/
[7] https://stackoverflow.com/questions/38450264/xamarin-forms-vs-xamarin-mvvmcross
[8] https://mentormate.com/blog/6-reasons-mvvmcross-peeds-xamarin-development-personalizes-ux/
[9] https://www.suneco.nl/blogs/boost-your-xamarin-native-projects-with-mvvmcross/
[10] https://visualstudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx