Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Wat zijn de belangrijkste verschillen tussen het gebruik van MVVMCross met Xamarin.Forms en Xamarin Native


Wat zijn de belangrijkste verschillen tussen het gebruik van MVVMCross met Xamarin.Forms en Xamarin Native


Bij het vergelijken van het gebruik van MVVMCross met Xamarin.Forms en Xamarin Native ontstaan ​​verschillende belangrijke verschillen, voornamelijk in termen van UI -flexibiliteit, code -delen en ontwikkelingsbenadering.

UI flexibiliteit en controle

- Xamarin.Forms: Dit framework biedt een gedeelde UI -laag op verschillende platforms, die de ontwikkeling vereenvoudigt door u eenmaal UI -code toe te staan ​​en op meerdere platforms te implementeren. Deze gedeelde UI kan echter de aanpassing beperken tot platformspecifieke functies, waarvoor aangepaste renderers nodig zijn voor meer geavanceerde UI-elementen [7] [9]. MVVMCross kan worden gebruikt met Xamarin.Forms om de bedrijfslogica en navigatie te beheren, maar de UI blijft gestandaardiseerd op platforms [1] [10].

- Xamarin Native: bij gebruik van Xamarin Native met MVVMCross, heb je volledige controle over de gebruikersinterface voor elk platform. Dit zorgt voor platformspecifieke UI-implementaties, waardoor het native uiterlijk van elk platform wordt gemaximaliseerd. Hoewel deze aanpak meer inspanning vereist om afzonderlijke UI -lagen te ontwikkelen voor iOS en Android, biedt het meer flexibiliteit en aanpassing [7] [9].

Code delen en hergebruiken

- Xamarin.Forms: Met Xamarin.Forms kunt u niet alleen de bedrijfslogica (via MVVMCross) maar ook de UI -code op verschillende platforms delen. Dit vereenvoudigt de ontwikkeling en vermindert de hoeveelheid code die u moet onderhouden. De gebruikersinterface is echter beperkt tot een gemeenschappelijke set elementen die op alle platforms werken [4] [10].

- Xamarin Native: In een native Xamarin -opstelling met MVVMCross kunt u de bedrijfslogica (ViewModels) delen op platforms, maar u moet de UI afzonderlijk implementeren voor elk platform. Deze aanpak zorgt voor meer code hergebruik in de presentatielaag en de UI-logica bij het gebruik van MVVMCross, maar vereist nog steeds platformspecifieke UI-ontwikkeling [9].

Ontwikkelingsbenadering

- Xamarin.Forms: Ontwikkelen met Xamarin.Forms en MVVMCross heeft vaak de voorkeur van ontwikkelaars zonder uitgebreide mobiele ervaring, omdat het cross-platform UI-ontwikkeling vereenvoudigt. Het framework behandelt veel van de onderliggende complexiteit, waardoor ontwikkelaars zich kunnen concentreren op gedeelde logica en UI [4] [10].

-Xamarin Native: Native Xamarin Development met MVVMCross wordt meestal begunstigd door ontwikkelaars die fijnkorrelige controle over de gebruikersinterface willen en comfortabel zijn met platformspecifieke ontwikkeling. Deze aanpak vereist meer expertise in native iOS en Android -ontwikkeling, maar biedt een grotere flexibiliteit in UI -ontwerp en -implementatie [7] [9].

Navigatie en binding

- Xamarin.Forms met MVVMCross: Navigatie in Xamarin.Forms met MVVMCross wordt beheerd op het niveau van ViewModel, waardoor een schone scheiding van zorgen mogelijk is. MVVMCROSS biedt verbeterde bindingsmogelijkheden, zoals fallback -waarden, hoewel het enkele functies mist, zoals de bron -eigenschap in standaard Xamarin.Forms -bindingen [2] [10].

- Xamarin Native met MVVMCross: in native Xamarin -projecten verwerkt MVVMCross navigatie en view/viewModel -koppeling, waardoor een consistente MVVM -architectuur op verschillende platforms mogelijk is. Met deze installatie kunnen ontwikkelaars platformspecifieke navigatiepatronen gebruiken met behoud van een gedeelde bedrijfslogica [3] [9].

Samenvattend, hoewel beide benaderingen MVVMCross kunnen gebruiken voor MVVM-architectuur, biedt Xamarin.Forms een gedeelde UI-laag met minder controle over platformspecifieke UI-functies, terwijl Xamarin Native volledige controle biedt over UI-aanpassing, maar meer ontwikkelingsinspanningen vereist voor afzonderlijke UI-implementaties.

Citaten:
[1] https://www.mvvmcross.com/documentation/platform/xamarin.forms/xamarin-forms
[2] https://www.xamarinhelp.com/use-xamarin-morms-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-speeds-xamarin-development-personaliseer-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