MVVMCROSS er et kraftig tverrplattform MVVM-rammeverk som forbedrer Xamarin-innfødte prosjekter ved å muliggjøre deling av presentasjonslag og UI-logikk på tvers av forskjellige plattformer. Her er noen vanlige brukssaker for MVVMCROSS i Xamarin Native Projects:
1.
MVVMCROSS lar utviklere maksimere gjenbruk av kode ved å plassere visningsmodeller og forretningslogikk i et bærbart klassebibliotek (PCL). Denne PCL kan refereres til på tvers av flere plattformspesifikke prosjekter, for eksempel xamarin.android og xamarin.ios, noe som sikrer at kjernelogikken forblir konsistent mens brukergrensesnittet kan tilpasses for hver plattform [1] [2].2. MVVM mønsterimplementering **
MVVMCROSS letter implementeringen av Model-View-ViewModel (MVVM) -mønsteret, noe som er gunstig for å opprettholde en klar separasjon av bekymringer mellom brukergrensesnittet og forretningslogikken. Dette mønsteret hjelper deg med å lage løst koblede applikasjoner, noe som gjør dem lettere å teste og vedlikeholde [3] [5].3. Databinding og navigasjon **
MVVMCROSS gir robuste databindingsfunksjoner, slik at visninger kan binde seg til ViewModels sømløst. Denne funksjonen støtter forskjellige bindingsmodus og omformere, og forbedrer fleksibiliteten i applikasjonens brukergrensesnitt. I tillegg inkluderer MVVMCROSS et navigasjonssystem som forenkler å flytte mellom forskjellige visninger i appen [2] [5].4. Avhengighetsinjeksjon og plugins **
MVVMCROSS tilbyr en avhengighetsinjeksjonsbeholder (DI) som lar utviklere registrere og løse plattformspesifikke tjenester fra PCL. Denne funksjonen er avgjørende for å integrere plattformspesifikke funksjoner uten dupliseringskode. Videre støtter MVVMCROSS et bredt spekter av plugins for vanlige funksjonaliteter som databaseoperasjoner, nettverkstilkobling og mer, som enkelt kan integreres i prosjekter via NuGet -pakker [1] [3].5. Plattformspesifikk UI-tilpasning **
Mens Xamarin.Forms begrenser UI-tilpasning på tvers av plattformer, tillater MVVMCROSS med Xamarin-innfødt utviklere å lage plattformspesifikke brukergrensesnitt. Dette er spesielt nyttig når en applikasjon krever et innfødt utseende og følelse på hver plattform. MVVMCROSS sikrer at til tross for forskjellige UI -implementeringer, forblir den underliggende forretningslogikken delt og konsistent [1] [4].6. Enhetstesting og utviklingseffektivitet **
Ved å skille forretningslogikken i en PCL, gjør MVVMCROSS det lettere å skrive enhetstester for applikasjonens kjernelogikk. Denne separasjonen fremskynder også utviklingen, ettersom endringer i forretningslogikken ikke krever endringer i den plattformspesifikke UI-koden [5].Oppsummert er MVVMCROSS et allsidig verktøy for Xamarin Native Projects, og tilbyr en strukturert tilnærming til utvikling av plattformer og samtidig opprettholder fleksibiliteten til å tilpasse UIS for hver plattform. Funksjonene som MVVM-mønsterstøtte, databinding, avhengighetsinjeksjon og omfattende plugin-økosystem gjør det til et ideelt valg for komplekse applikasjoner på tvers av plattformer.
Sitasjoner:[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-tone-build-mvvm-apps-with-xamarin-and-mvvmcross
[3] https://dev.to/christian1006/creating-cross-platform-xamarin-applications-sing-the-mvvmcross-ramework-2920
[4] https://canbilgin.wordpress.com/tag/mvvmcross/
[5] https://www.mvvmcross.com/documentation/getting-started/getting-started
[6] https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-xamarin-forms-versjon
[7] https://stackoverflow.com/questions/32220007/what-does-mvvmcross-do-that-xamarin-doesnt-allady
[8] https://stackoverflow.com/questions/38450264/xamarin-forms-vs-xamarin-mvmcross