MVVMCROSS piedāvā vairākas priekšrocības salīdzinājumā ar citiem MVVM ietvariem, jo īpaši starpplatformu attīstības kontekstā. Šeit ir daži no galvenajiem ieguvumiem:
1. Pārvietojošo platformu atbalsts: MVVMCROSS ir paredzēts, lai atbalstītu plašu platformu klāstu, ieskaitot Xamarin.ios, Xamarin.android, Xamarin.Mac, Xamarin.Forms, Universal Windows platformu (UWP) un Windows prezentācijas fondu (WPF) [1] [2]. Tas padara to par lielisku izvēli izstrādātājiem, kuriem jāizvieto savas lietojumprogrammas vairākās platformās.
2. MVVM arhitektūra: MVVMCROSS atvieglo modeļa-View-ViewModel (MVVM) modeļa ieviešanu, kas ir noderīga prezentācijas slāņa atdalīšanai no biznesa loģikas. Šī atdalīšana uzlabo lietojumprogrammas uzturējamību un pārbaudāmību [2] [7].
3. Datu saistīšana: MVVMCROSS nodrošina stabilas datu saistīšanas iespējas, ļaujot izveidot divvirzienu savienojumu starp skatiem un skatuModeļiem. Šī īpašība ir būtiska, lai saglabātu sinhronizāciju starp lietotāja saskarni un pamatā esošo datu modeli [6].
4. Navigācijas sistēma: ietvarā ietilpst jaudīga skataModeļa pirmā navigācijas sistēma, kas vienkāršo navigācijas procesu starp dažādām lietojumprogrammas daļām. Šī sistēma ir ļoti pielāgojama un atbalsta sarežģītus navigācijas scenārijus [5].
5. Atkarības injekcija (DI) un kontroles inversija (SOK): MVVMCROSS piedāvā vieglu DI konteineru, kas atbalsta dažādus reģistrācijas modeļus, piemēram, Singleton un dinamiskas reģistrācijas. Tas ļauj ērti pārvaldīt atkarības visā lietojumprogrammā, uzlabojot modularitāti un pārbaudāmību [2].
6. spraudņu arhitektūra: ietvarā ietilpst spraudņu sistēma, kas izstrādātājiem ļauj savās lietojumprogrammās viegli integrēt platformai specifiskās funkcijas vai trešo personu bibliotēkas. Šī sistēma atbalsta spraudņu izpildlaika iesmidzināšanu, padarot vieglāku starpplatformas koda pārvaldību [4].
7. koda atkārtota izmantojamība: ļaujot skatuModeļiem ievietot portatīvās klases bibliotēkā (PCL) vai .NET standarta bibliotēkā, MVVMCross palielina koda atkārtotu izmantojamību dažādās platformās. Šī pieeja ievērojami samazina attīstības laiku un piepūli [3] [7].
8. Vietējais UI atbalsts: Atšķirībā no dažiem citiem ietvariem, piemēram, Xamarin.Forms, MVVMCross atbalsta katras platformas vietējo lietotāja saskarnes izstrādi. Tas nozīmē, ka izstrādātāji var izveidot platformas specifiskas lietotāja saskarnes, kas izmanto vietējās vadības ierīces un API, kā rezultātā katrai platformai ir vairāk vietējā izskata un sajūta [3] [7].
9. Elastība un pielāgojamība: MVVMCross ir ļoti konfigurējams un ļauj izstrādātājiem ignorēt daudzus tās komponentus. Šī elastība padara to piemērotu plašam projekta prasību un attīstības stilu klāstam [4].
Kopumā MVVMCROSS piedāvā jaudīgu starpplatformu atbalsta, MVVM arhitektūras, datu saistīšanas, navigācijas, atkarības injekcijas un koda atkārtotas izmantojamības kombināciju, padarot to par spēcīgu izvēli izstrādātājiem, kas veido kompleksu, uzturējamas lietojumprogrammas dažādās platformās.
Atsauces:[1] https://www.mvvmcross.com/documentation/getting-started/getting-started
[2] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvm-apps-with-xamarin-and-mvmcross
[3] https://www.suneco.nl/blogs/boost-your-xamarin-native-projects-with-mvvmcross/
[4] https://github.com/mvvmcross/mvvmcross
[5] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[6] https://www.mvvmcross.com/documentation/fundamentals/data
[7] https://leaware.com/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework/
[8] https://stackoverflow.com/questions/26783673/mvvmcross-for-new-cross-platform-project