MVVMcross je priljubljen okvir za mobilni razvoj med platformami z uporabo Xamarina, ki razvijalcem omogoča, da izkoristijo vzorec MVVM po Android, iOS in drugih platformah. Kljub svojim koristim pa je treba upoštevati več pomanjkljivosti pri uporabi MVVMcross za aplikacije Android in IOS:
1. Zapletenost in krivulja učenja: MVVMcross je velik okvir, ki zahteva čas, da se v celoti dojamete. Novi razvijalci se lahko zdijo zahtevni, da razumejo njegove temelje, na primer, kako se prenaša kontekst podatkov med komponentami [1]. Ta zapletenost lahko privede do strmejše krivulje učenja v primerjavi s preprostejšimi okviri.
2. Težave z uspešnostjo: Nekateri uporabniki so poročali o težavah z uspešnostjo, kot so počasni časi zagona in zamude v LISTVIEW Bindings. Te težave lahko pripišemo MVVMcross, Xamarin ali sama platforma Android, zaradi česar je težko določiti natančen vzrok brez profila uspešnosti [1].
3. Sporočila o napakah in odpravljanje napak: Okvirna sporočila o napakah so lahko bolj informativna. Namesto da bi samo poročali o napakah, bi lahko predlagali morebitne rešitve, ki bi pomagale pri hitrejšem odpravljanju napak in razvoja [1].
4. Ponovna uporaba in preizkus: Medtem ko je MVVMcross izboljšati preizkus, tako da loči poslovno logiko od pogleda, v praksi lahko modeli ogledov postanejo napihnjeni in jih je težko preizkusiti. To še posebej velja, če obravnavajo več odgovornosti in vzdržujejo notranje stanje, zaradi česar je težko samostojno testirati metode [2]. Poleg tega modeli ogledov zaradi svojih specifičnih izvedb pogosto ne rešujejo med različnimi regulatorji pogleda [2].
5. Izzivi, specifični za platformo: Na Androidu lahko razdrobljenost in Java sklad predstavljajo dodatne izzive. Na primer, uporaba Intel Android X86 slik v emulatorjih lahko privede do čudežev, kot so prekomerne težave z beleženjem ali omrežje [1]. V iOS lahko pomanjkanje vgrajenih vezi zaplete izvedbo MVVM, kar vodi do prevelikega zanašanje krmilnikov ali modelov pogleda za naloge, ki jih ne bi smeli opravljati [2].
6. Zastarela dokumentacija in vadnice: Obstajajo pomisleki glede zastarelih vadnic in dokumentacije za MVVMcross. To lahko novim razvijalcem otežuje začetek ali sledi spremembam v okviru [5].
7. Dolgoživost in podpora: Vprašanja o zrelosti in dolgoživosti okvira so bila postavljena, zlasti v okviru hitro razvijajočih se mobilnih tehnologij. To lahko vpliva na odločitve o uporabi MVVMcross za komercialne projekte [5].
Na splošno, čeprav MVVMcross ponuja velike prednosti pri razvoju med platformami, njeni zapletenost, težavami z zmogljivostjo in izzivi, ki so specifični za platformo, je treba natančno upoštevati pri odločitvi, ali ga uporabiti za aplikacije Android in iOS.
Navedbe:[1] https://blog.rthand.com/a-week-of-impressions-of-developing-for-android-using-xamarin-mvvmcross/
[2] https://www.danielhall.io/the-problems-with-mvvm-on-ios
[3] https://www.mvvmcross.com/documentation/upgrading/upgrade-to-mvvmcross-60
[4] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[5] https://xamarin21.rssing.com/chan-23562832/article1771.html
[6] https://stackoverflow.com/questions/16301045/mvvmcross-v3-is-that-wrong-to-to-to-e-behaviours-and-in Storyboards-in-Mu
[7] https://www.reddit.com/r/dotnet/comments/1cqqika/worth_converting_net_androidios_to_maui/
[8] https://amenormate.com/blog/6-reasons-mvvmcross-peeds-xamarin-development-perolize-ux/
[9] https://stackoverflow.com/questions/26108486/should-i-use-mvvmcross-for-xamarin-forms-and-windows-store-app