Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Jaké jsou hlavní nevýhody používání aplikací MVVMCross


Jaké jsou hlavní nevýhody používání aplikací MVVMCross


MVVMCross je populární rámec pro mobilní vývoj napříč platformami pomocí Xamarinu, který umožňuje vývojářům využít vzor MVVM napříč Android, IOS a dalšími platformami. Přes své výhody však existuje několik nevýhod, které je třeba zvážit při použití MVVMCross pro aplikace Android a iOS:

1. Složitost a křivka učení: MVVMCross je velký rámec, který vyžaduje čas na plné uchopení. Noví vývojáři mohou považovat za náročné porozumět jeho základě, například jak se datový kontext přenáší mezi komponenty [1]. Tato složitost může vést k strmější křivce učení ve srovnání s jednoduššími rámci.

2. Problémy s výkonem: Někteří uživatelé nahlásili problémy s výkonem, jako jsou pomalé doby spuštění a zpoždění ve vazbách ListView. Tyto problémy lze připsat MVVMCross, Xamarin nebo samotné platformě Android, což ztěžuje určit přesnou příčinu bez profileru výkonu [1].

3. Chybové zprávy a ladění: Chybové zprávy rámce by mohly být informativní. Místo pouhých hlášení chyb by mohli navrhnout potenciální řešení, která by pomohla při rychlejším ladění a vývoji [1].

4. Opakovaná použitelnost a testovatelnost: Zatímco MVVMCross si klade za cíl zlepšit testovatelnost oddělováním obchodní logiky od pohledu, v praxi se modely mohou být nafouknuty a obtížně testovatelné. To platí zejména v případě, že zpracovávají více povinností a udržují vnitřní stav, což ztěžuje nezávisle testování metod [2]. Modely zobrazení se navíc často stávají reausovatelnými napříč různými řadiči pohledu kvůli jejich specifickým implementacím [2].

5. Výzvy specifické pro platformu: Na Android, fragmentaci a zásobník Java mohou představovat další výzvy. Například použití obrázků Intel Android X86 v emulátorech může vést k vtípkám, jako je nadměrné problémy s protokolováním nebo síťové problémy [1]. U iOS může nedostatek vestavěných vazeb zkomplikovat implementaci MVVM, což vede k nadměrnému spoléhání se na řadiče pohledu nebo zobrazení modelů pro úkoly, které by neměly zvládnout [2].

6. Zastavená dokumentace a návody: Existovaly obavy o zastaralé návody a dokumentaci pro MVVMCross. To může pro nové vývojáře ztěžovat začít nebo držet krok se změnami v rámci [5].

7. Dlouhověkost a podpora: Byly vzneseny otázky týkající se zralosti a dlouhověkosti rámce, zejména v souvislosti s rychle se vyvíjejícími mobilními technologiemi. To může mít dopad na rozhodnutí, zda použít MVVMCross pro komerční projekty [5].

Celkově, zatímco MVVMCross nabízí významné výhody ve vývoji napříč platformami, jeho složitost, problémy s výkonem a výzvy specifické pro platformu je třeba při rozhodování o tom, zda jej používat pro aplikace Android a IOS, pečlivě zvážit.

Citace:
[1] https://blog.rthand.com/aweek-of-impressions-of-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-try-ing-use-behaviours-and-storyboards-in-a-mu
[7] https://www.reddit.com/r/dotnet/comments/1cqqika/worth_converting_net_andoidios_to_maui/
[8] https://mentormate.com/blog/6-parsons-mvvmcross-speeds-xamarin-developalizes-ux/
[9] https://stackoverflow.com/questions/26108486/shald-use-use-use-svvmcross-for-xamarin-form-and-indows-app-app