„MVVMCross“ yra galinga įvairių platformų MVVM sistema, siūlanti keletą privalumų kuriant įvairių platformų programas, ypač kai jis naudojamas su „Xamarin“. Čia yra keletas pagrindinių MVVMCross naudojimo pranašumų:
MVVM modelis ir kodo pakartotinis naudojimas
„MVVMCross“ leidžia kūrėjams įdiegti modelio-View-Viewmodel (MVVM) modelį, kuris yra naudingas norint atskirti programos logiką nuo vartotojo sąsajos. Šis atskyrimas leidžia pakartotinai naudoti verslo logiką įvairiose platformose, tokiose kaip „iOS“, „Android“ ir „Windows“, įdedant „ViewModels“ į nešiojamąją klasės biblioteką (PCL) arba .NET standartinę biblioteką [1] [2]. Šis metodas žymiai padidina kodo pakartotinį naudojimą, nes tas pats „ViewModel“ gali būti naudojamas keliose platformose, kiekviena platforma įgyvendina savo gimtąją vartotojo sąsają.Duomenų įrišimas
MVVMCross palaiko duomenų surišimą, kuris yra labai svarbus MVVM modeliui. Duomenų surišimas leidžia UI elementams automatiškai atnaujinti, kai keičiasi pagrindiniai duomenys, sumažinant rankinių atnaujinimų ir katilinės kodo poreikį [3] [5]. Ši funkcija padeda išlaikyti švarią UI ir verslo logikos susirūpinimą.priklausomybės injekcija ir valdymo inversija
„MVVMCross“ apima įmontuotą valdymo (TOC) konteinerio inversiją, palaikančią priklausomybės injekciją. Tai leidžia kūrėjams lengvai valdyti priklausomybes tarp komponentų ir paslaugų. Naudodamiesi konstruktoriaus injekcijomis, „ViewModels“ gali gauti konkrečias platformai skirtas paslaugas, nereikia žinoti išsamios diegimo informacijos, kad būtų lengviau rašyti įvairių platformų kodą [2] [5].papildiniai ir konkrečios platformos funkcijos
„MVVMCross“ siūlo papildinio architektūrą, leidžiančią kūrėjams kurti ir naudoti specifines platformos funkcijas, nekontroliuojant kodo. Šiuos papildinius galima lengvai įdiegti naudojant „NuGET“ ir užtikrinti funkcijas, tokias kaip prieiga prie kameros, GPS ar duomenų bazės operacijos, kurios kiekvienoje platformoje yra įdiegtos skirtingai [1] [2]. Šis požiūris supaprastina konkrečios platformos paslaugų integraciją į įvairių platformų programas.Testabilumas
Vienas iš reikšmingų „MVVMCross“ naudojimo pranašumų yra patobulintas „ViewModels“ išbandomumas. Kadangi „ViewModels“ turi verslo logiką ir yra atsiejami nuo vartotojo sąsajos, juos galima lengvai išbandyti nepriklausomai nuo konkrečios platformos UI kodo [2] [5]. Tai leidžia lengviau rašyti programos logikos vienetų testus.Navigacija ir peržiūrėkite pranešėjus
„MVVMCross“ pateikia galingą „ViewModel-First“ navigacijos sistemą, kurioje yra „ViewPresenters“. Šie komponentai padeda valdyti, kaip vaizdai pateikiami skirtingose platformose, leidžiant lanksčiau naršyti ir UI pateikimas [8].Lankstumas ir išplėtimas
„MVVMCross“ palaiko ir „Xamarin Native“, ir „Xamarin.Forms“ kūrimo metodus, siūlydama lankstumą renkantis UI sluoksnį [9]. Be to, jos atvirojo kodo pobūdis ir aktyvi bendruomenė užtikrina, kad ją galima išplėsti ir pritaikyti, kad būtų patenkinti konkretūs projekto poreikiai.Apskritai, „MVVMCross“ sustiprina įvairių platformų plėtrą, skatindama kodo pakartotinį naudojimą, supaprastindamas konkrečios platformos įgyvendinimus ir gerindama taikymo palaikymą ir testavimą.
Citatos:[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://www.mvvmcross.com/documentation/fundamentals/data-binding
[4] https://stackoverflow.com/questions/32220007/what-does-mvvmcross-do-that-xamarin-doesnt-already
[5] https://www.cms.lk/mvvmcross-a-cross-platform-mobile-platform-for-xamarin/
[6] https://www.velvetech.com/blog/5-Reasons-use-mobile-cross-platform-development/
[7] https://www.toptal.com/app/xamarin-mvvmcross-skisharp-cross-platform
[8] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[9] https://www.mvvmcross.com/documentation/getting-started/getting-started