MVVMCROSS ir jaudīgs starpplatformu MVVM ietvars, kas piedāvā vairākas priekšrocības dažādu platformu lietojumprogrammu izstrādei, it īpaši, ja to lieto kopā ar Xamarin. Šeit ir dažas no galvenajām MVVMCROSS izmantošanas priekšrocībām:
MVVM modelis un koda atkārtota izmantošana
MVVMCROSS ļauj izstrādātājiem ieviest modeļa-View-ViewModel (MVVM) modeli, kas ir noderīgs lietojumprogrammu loģikas atdalīšanai no lietotāja interfeisa. Šī atdalīšana ļauj atkārtoti izmantot biznesa loģiku dažādās platformās, piemēram, iOS, Android un Windows, ievietojot ViewModels portatīvajā klases bibliotēkā (PCL) vai .NET standarta bibliotēkā [1] [2]. Šī pieeja ievērojami uzlabo koda atkārtotu izmantošanu, jo to pašu ViewModel var izmantot vairākās platformās, un katra platforma ievieš savu vietējo lietotāja saskarni.Datu saistīšana
MVVMCROSS atbalsta datu iesiešanu, kas ir būtiska MVVM modelim. Datu saistīšana ļauj automātiski atjaunināt lietotāja saskarnes elementus, mainoties pamatā esošajiem datiem, samazinot nepieciešamību pēc manuāliem atjauninājumiem un katlu plāksnes kodu [3] [5]. Šī funkcija palīdz uzturēt tīru bažu nodalīšanu starp lietotāja saskarni un biznesa loģiku.Atkarības injekcija un kontroles inversija
MVVMCROSS ietver iebūvētu kontroles (SOK) konteinera apgriezienu, kas atbalsta atkarības injekciju. Tas ļauj izstrādātājiem viegli pārvaldīt komponentu un pakalpojumu atkarību. Izmantojot konstruktora injekciju, ViewModels var saņemt platformas specifiskus pakalpojumus, nezinot informāciju par ieviešanu, padarot vieglāku starpplatformas koda rakstīšanu [2] [5].spraudņi un platformai specifiska funkcionalitāte
MVVMCROSS piedāvā spraudņu arhitektūru, kas ļauj izstrādātājiem izveidot un izmantot platformai specifiskas funkcijas, bez dublēšanas koda. Šos spraudņus var viegli instalēt, izmantojot NuGet, un nodrošināt tādas funkcijas kā kameru piekļuve, GPS vai datu bāzes operācijas, kuras katrā platformā tiek ieviestas atšķirīgi [1] [2]. Šī pieeja vienkāršo platformas specifisko pakalpojumu integrāciju starpplatformu lietojumprogrammās.Pārbaude
Viens no nozīmīgajiem MVVMCROSS izmantošanas ieguvumiem ir uzlabota ViewModels pārbaudījums. Tā kā ViewModels satur biznesa loģiku un tie ir atdalīti no lietotāja saskarnes, tos var viegli pārbaudīt neatkarīgi no platformas specifiskā UI koda [2] [5]. Tas ļauj vieglāk rakstīt vienības testus lietojumprogrammu loģikai.Navigācija un skatīt vadītājus
MVVMCROSS nodrošina jaudīgu skatuModel-pirmo navigācijas sistēmu, kas ietver ViewPresenters. Šie komponenti palīdz pārvaldīt, kā skati tiek parādīti dažādās platformās, ļaujot lielāku elastību navigācijā un lietotāja saskarnes prezentācijā [8].Elastība un paplašināmība
MVVMCROSS atbalsta gan Xamarin Natale, gan Xamarin.Forms attīstības pieejas, piedāvājot elastību, izvēloties, kā ieviest UI slāni [9]. Turklāt tā atvērtā koda raksturs un aktīvā sabiedrība nodrošina, ka to var paplašināt un pielāgot, lai apmierinātu īpašas projekta vajadzības.Kopumā MVVMCROSS uzlabo starpplatformu izstrādi, veicinot koda atkārtotu izmantošanu, vienkāršojot platformai specifisku ieviešanu un uzlabojot lietojumprogrammu uzturējamību un pārbaudāmību.
Atsauces:[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-mvm-apps-with-xamarin-and-mvmcross
[3] https://www.mvvmcross.com/documentation/fundamentals/data
[4] https://stackoverflow.com/questions/32220007/what-does-mvvmcross-do-that-xamarin-doesnt- alread
[5] https://www.cms.lk/mvvmcross-a-cross-platform-mobile-platform-for-xamarin/
[6.]
[7] https://www.toptal.com/app/xamarin-mvvmcross-skiasharp-cross-platform
[8] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[9] https://www.mvvmcross.com/documentation/getting-started/getting-started