MVVMcross je močan okvir MVVM v navzkrižni platformi, ki izboljšuje domače projekte Xamarin, tako da omogoča skupno rabo predstavitvenih slojev in logiko uporabniškega vmesnika na različnih platformah. Tu je nekaj primerov pogoste uporabe za mvvmcross v domačih projektih Xamarin:
1. Koda kode med platformami **
MVVMcross omogoča razvijalcem, da povečajo ponovno uporabo kode tako, da v knjižnico prenosnih razredov (PCL) postavijo ViewModels in Business Logic. Ta PCL se lahko sklicuje na več projektov, specifičnih za platformo, kot sta xamarin.android in xamarin.ios, kar zagotavlja, da je jedrna logika ostala dosledna, medtem ko je mogoče uporabniški vmesnik prilagoditi za vsako platformo [1] [2].2. Izvajanje vzorca MVVM **
MVVMcross olajša izvajanje vzorca modela -view-ViewModel (MVVM), kar je koristno za ohranjanje jasne ločitve pomislekov med uporabniškim vmesnikom in poslovno logiko. Ta vzorec pomaga pri ustvarjanju ohlapno povezanih aplikacij, kar olajša testiranje in vzdrževanje [3] [5].3. Zavezana in navigacija podatkov **
MVVMcross zagotavlja robustne zmogljivosti za vezavo podatkov, kar omogoča, da se pogledi brezhibno vežejo na ViewModele. Ta funkcija podpira različne načine vezave in pretvornike, kar izboljšuje prilagodljivost uporabniškega vmesnika aplikacije. Poleg tega MVVMcross vključuje navigacijski sistem, ki poenostavi premikanje med različnimi pogledi znotraj aplikacije [2] [5].4. Vbrizgavanje odvisnosti in vtičniki **
MVVMcross ponuja vsebnik za vbrizgavanje odvisnosti (DI), ki razvijalcem omogoča registracijo in reševanje storitev, specifičnih za platformo, iz PCL. Ta funkcija je ključnega pomena za integracijo funkcionalnosti, specifičnih za platformo, brez podvajanja kode. Poleg tega MVVMcross podpira široko paleto vtičnikov za skupne funkcionalnosti, kot so operacije baze podatkov, omrežna povezljivost in drugo, ki jih je mogoče enostavno vključiti v projekte prek Nuget paketov [1] [3].5. Prilagoditev uporabniškega vmesnika, specifična za platformo **
Medtem ko Xamarin.forms omejuje prilagoditev uporabniškega vmesnika na platformah, MVVMcross z Xamarin Native omogoča razvijalcem, da ustvarijo uporabniške vmesnike, specifične za platformo. To je še posebej koristno, kadar aplikacija zahteva domači videz in občutek na vsaki platformi. MVVMcross zagotavlja, da kljub različnim izvedbam uporabniškega vmesnika ostaja osnovna poslovna logika deljena in dosledna [1] [4].6. Učinkovitost testiranja in razvoja enot **
Z ločevanjem poslovne logike v PCL MVVMcross olajša pisanje testov enot za osnovno logiko aplikacije. Ta ločitev tudi pospeši razvoj, saj spremembe v poslovni logiki ne potrebujejo sprememb za kodo uporabniškega vmesnika, specifične za platformo [5].Če povzamemo, je MVVMcross vsestransko orodje za domače projekte Xamarin, ki ponuja strukturiran pristop k razvoju med platformami, hkrati pa ohranja prilagodljivost prilagajanja uporabniških vmesnikov za vsako platformo. Njegove značilnosti, kot so podpora vzorcev MVVM, vezava podatkov, vbrizgavanje odvisnosti in obsežen ekosistem vtičnikov, so idealna izbira za zapletene, medplatske aplikacije.
Navedbe:[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-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[3] https://dev.to/christian1006/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework-2920
[4] https://canbilgin.wordpress.com/tag/mvvmcross/
[5] https://www.mvvmcross.com/documentation/getting-started/getting-start
[6] https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-xamarin-forms-version
[7] https://stackoverflow.com/questions/32220007/what-does-mvvmcross-do-that-xamarin-doesnt-already
[8] https://stackoverflow.com/questions/38450264/xamarin-forms-vs-xamarin-mvvmcross