Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hva er de viktigste forskjellene mellom å bruke MVVMCROSS med Xamarin.Forms og Xamarin Native


Hva er de viktigste forskjellene mellom å bruke MVVMCROSS med Xamarin.Forms og Xamarin Native


Når du sammenligner bruken av MVVMCROSS med Xamarin.Forms og Xamarin Native, dukker det opp flere viktige forskjeller, først og fremst med tanke på UI -fleksibilitet, kodedeling og utviklingstilnærming.

UI fleksibilitet og kontroll

- Xamarin.Forms: Dette rammeverket gir et delt brukergrensesnittlag på tvers av plattformer, som forenkler utvikling ved å la deg skrive UI -kode en gang og distribuere den på flere plattformer. Imidlertid kan dette delte brukergrensesnittet begrense tilpasningen til plattformspesifikke funksjoner, og krever tilpassede gjengivere for mer avanserte UI-elementer [7] [9]. MVVMCROSS kan brukes med Xamarin.Forms for å administrere forretningslogikken og navigasjonen, men brukergrensesnittet forblir standardisert på tvers av plattformer [1] [10].

- Xamarin Native: Når du bruker Xamarin innfødt med MVVMCROSS, har du full kontroll over brukergrensesnittet for hver plattform. Dette muliggjør plattformspesifikke UI-implementeringer, og maksimerer det opprinnelige utseendet og følelsen av hver plattform. Selv om denne tilnærmingen krever mer innsats for å utvikle separate UI -lag for iOS og Android, gir den større fleksibilitet og tilpasning [7] [9].

kodedeling og gjenbruk

- Xamarin.Forms: Med Xamarin.Forms kan du ikke bare dele forretningslogikken (via MVVMCROSS), men også UI -koden på tvers av plattformer. Dette forenkler utviklingen og reduserer mengden kode du trenger å opprettholde. UI er imidlertid begrenset til et felles sett med elementer som fungerer på alle plattformer [4] [10].

- Xamarin Native: I et innfødt Xamarin -oppsett med MVVMCROSS, kan du dele forretningslogikken (ViewModels) på tvers av plattformer, men du må implementere brukergrensesnittet separat for hver plattform. Denne tilnærmingen muliggjør mer kode gjenbruk i presentasjonslaget og UI-logikken når du bruker MVVMCROSS, men krever fortsatt plattformspesifikk UI-utvikling [9].

Utviklingstilnærming

- Xamarin.Forms: Developing with Xamarin.Forms and MVVMCROSS er ofte foretrukket av utviklere uten omfattende mobilerfaring, da det forenkler UI-utvikling på tvers av plattformer. Rammeverket håndterer mye av den underliggende kompleksiteten, slik at utviklere kan fokusere på delt logikk og UI [4] [10].

-Xamarin Native: Native Xamarin Development with MVVMCROSS er vanligvis foretrukket av utviklere som vil ha finkornet kontroll over brukergrensesnittet og er komfortable med plattformspesifikk utvikling. Denne tilnærmingen krever mer kompetanse innen innfødt iOS og Android -utvikling, men gir større fleksibilitet i UI -design og implementering [7] [9].

Navigasjon og binding

- Xamarin.Forms med MVVMCROSS: Navigasjon i Xamarin.Forms med MVVMCROSS administreres på ViewModel -nivå, noe som gir mulighet for en ren separasjon av bekymringer. MVVMCROSS gir forbedrede bindingsfunksjoner, for eksempel tilbakeslagsverdier, selv om det mangler noen funksjoner som kildeegenskapen som finnes i standard Xamarin.Forms -bindinger [2] [10].

- Xamarin innfødt med MVVMCROSS: I Native Xamarin -prosjekter håndterer MVVMCROSS Navigasjon og visning/ViewModel -parring, noe som gir en jevn MVVM -arkitektur på tvers av plattformer. Dette oppsettet gjør det mulig for utviklere å utnytte plattformspesifikke navigasjonsmønstre mens de opprettholder et delt forretningslogikklag [3] [9].

Oppsummert, mens begge tilnærminger kan utnytte MVVMCROSS for MVVM-arkitektur, tilbyr Xamarin.Forms et delt UI-lag med mindre kontroll over plattformspesifikke UI-funksjoner, mens Xamarin Native gir full kontroll over UI-tilpasning, men krever mer utviklingsinnsats for separate UI-implementeringer.

Sitasjoner:
[1] https://www.mvvmcross.com/documentation/platform/xamarin.forms/xamarin-forms
[2] https://www.xamarinhelp.com/use-xamarin-forms-mvvm-ramwork/
[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-mvmcross/
[7] https://stackoverflow.com/questions/38450264/xamarin-forms-vs-xamarin-mvmcross
[8] https://mentormate.com/blog/6-reasons-mvvmcross-speeds-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