MVVMcross este un cadru puternic MVVM cu platformă puternică care îmbunătățește proiectele native Xamarin, permițând schimbul de straturi de prezentare și logica UI pe diferite platforme. Iată câteva cazuri de utilizare obișnuită pentru MVVMcross în Xamarin Native Projects:
1. Reutilizarea codului multiplă platformă **
MVVMCross permite dezvoltatorilor să maximizeze reutilizarea codului prin plasarea ViewModels și Business Logic într -o bibliotecă de clasă portabilă (PCL). Acest PCL poate fi menționat pe mai multe proiecte specifice platformei, cum ar fi xamarin.android și xamarin.ios, asigurându-se că logica de bază rămâne consecventă în timp ce UI poate fi personalizată pentru fiecare platformă [1] [2].2. Implementarea modelului MVVM **
MVVMCross facilitează implementarea modelului model-vizualizare-vizualizare (MVVM), care este benefic pentru menținerea unei separații clare a preocupărilor între UI și logica de afaceri. Acest model ajută la crearea de aplicații cuplate vag, ceea ce le face mai ușor de testat și întreține [3] [5].3.. Legarea și navigarea datelor **
MVVMcross oferă capacități robuste de legare a datelor, permițând vizualizărilor să se lege la ViewModels fără probleme. Această caracteristică acceptă diverse moduri de legare și convertoare, sporind flexibilitatea UI a aplicației. În plus, MVVMcross include un sistem de navigație care simplifică deplasarea între diferite vizualizări din aplicație [2] [5].4. Injecție de dependență și pluginuri **
MVVMCross oferă un container de injecție de dependență (DI) care permite dezvoltatorilor să înregistreze și să rezolve serviciile specifice platformei de la PCL. Această caracteristică este crucială pentru integrarea funcționalităților specifice platformei fără a duplica cod. Mai mult decât atât, MVVMCross acceptă o gamă largă de pluginuri pentru funcționalități comune, cum ar fi operațiunile bazei de date, conectivitatea la rețea și multe altele, care pot fi integrate cu ușurință în proiecte prin intermediul pachetelor Nuget [1] [3].5. Personalizarea UI specifică platformei **
În timp ce Xamarin.Forms restricționează personalizarea UI pe platforme, MVVMcross cu Xamarin Native permite dezvoltatorilor să creeze UIS specifice platformei. Acest lucru este deosebit de util atunci când o aplicație necesită un aspect nativ pe fiecare platformă. MVVMcross asigură că, în ciuda diferitelor implementări ale UI, logica de afaceri de bază rămâne partajată și consecventă [1] [4].6. Testarea unității și eficiența dezvoltării **
Prin separarea logicii de afaceri într -un PCL, MVVMCross facilitează scrierea testelor unității pentru logica principală a aplicației. Această separare accelerează, de asemenea, dezvoltarea, deoarece modificările logicii de afaceri nu necesită modificări ale codului UI specific platformei [5].În rezumat, MVVMcross este un instrument versatil pentru proiectele native Xamarin, oferind o abordare structurată pentru dezvoltarea multiplă platformă, menținând în același timp flexibilitatea de a personaliza UI pentru fiecare platformă. Caracteristicile sale, cum ar fi suportul modelului MVVM, legarea datelor, injecția de dependență și ecosistemul plugin extins îl fac o alegere ideală pentru aplicații complexe, multiplă platformă.
Citări:[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-sing-the-mvvmcross-framework-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-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