MVVMCROSS je populárny rámec MVVM, ktorý sa používa na rozvoj medzi platformami, najmä v ekosystéme .NET. Podporuje platformy ako iOS, Android, MacOS a Windows, čo vývojárom umožňuje zdieľať kód na týchto platformách pomocou vzoru MVVM. Tu sú hlavné rozdiely medzi MVVMCross a ďalšími rámcami MVVM:
MVVMcross vs. MVVM Light Toolkit
- Sada funkcií: MVVMCROSS je dokonalejší funkcia v porovnaní s MVVM Light Toolkit. MVVMCross ponúka komplexnú sadu funkcií vrátane väzby údajov, navigácie, vstrekovania závislosti a doplnkov pre rôzne funkcie [1] [3]. MVVM Light Toolkit je ľahká a chýba mu veľa funkcií mimo poľa, čo je menej vhodné pre zložité aplikácie [2].
- Komunita a podpora: MVVMCross má väčšiu a aktívnejšiu komunitu v porovnaní s MVVM Light Toolkit, ktorá sa od roku 2015 neaktualizovala [2] [9].
mvvmcross vs. hranol
- Navigácia a zložitosť: Prism je známy svojimi robustnými navigačnými prvkami a často sa používa vo veľkých aplikáciách. Používa však magické reťazce na navigáciu, ktoré niektorí vývojári považujú za menej intuitívne [9]. MVVMCross poskytuje priamejší navigačný systém, ale nemusí byť taký robustný ako Prism.
- Dokumentácia a výkon: Dokumentácia spoločnosti Prism je niekedy kritizovaná za nedostatok, a to predovšetkým podporuje DrydiOC z dôvodu výkonnosti [9]. MVVMCross má rozsiahlu dokumentáciu a podporuje rôzne vzorce injekcie závislosti [3] [10].
mvvmcross vs. ReactiveUi
- Filozofia a prístup: MVVMCROSS sa zameriava na poskytovanie komplexného súboru funkcií na vytváranie natívnych mobilných aplikácií s dôrazom na zdieľanie kódu naprieč platformami [7]. Na druhej strane ReativeUi zdôrazňuje reaktívne programovanie pomocou knižnice Reactive Extensions (RX), vďaka čomu je vhodná pre aplikácie s komplexnými asynchrónnymi operáciami [7].
- Viazanie údajov: MVVMCROSS používa prístup založený na kongrese založený na kongrese, zatiaľ čo ReactiveUI používa reaktívnejší a explicitnejší prístup pomocou pozorovateľných [7].
- Krivka učenia: ReactiveUi môže mať strmšiu krivku učenia sa kvôli jej zameraniu na reaktívne programovanie, zatiaľ čo MVVMCross sa vo všeobecnosti začína ľahšie vďaka svojej rozsiahlej dokumentácii a podpore komunít [7].
MVVMcross vs. Mugen MVVM Toolkit
-Sada funkcií a zložitosť: Mugen MVVM Toolkit je ocenená za to, že všetky požadované funkcie sú mimoškolské a dobré vzorky pre rôzne platformy [2]. Má však malú komunitu a komplexný interný zdrojový kód, ktorý môže spôsobiť, že je náročné učiť sa a rozšíriť [2]. MVVMCross je širšie prijatý a má jednoduchšiu architektúru, čo uľahčuje používanie mnohých vývojárov.
Stručne povedané, MVVMCROSS je všestranný rámec, ktorý podporuje širokú škálu platforiem a ponúka komplexnú sadu funkcií pre rozvoj medzi platformami. Jeho silné stránky spočívajú v schopnosti zdieľať kód naprieč platformami a jeho rozsiahlu podporu komunity. Ostatné rámce, ako sú ReactiveUi a Prism, však môžu byť vhodnejšie pre konkrétne potreby, ako sú reaktívne programovanie alebo robustné navigačné systémy.
Citácie:[1] https://www.mvvmcross.com/documentation/getting-started/getting-started
[2] https://github.com/m0j0/mvvmframeworksComparison
Https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvvm-apps-with-xamarin-mith-xamarin-mith-mith-mith-xamarin-and-mcross
[4] https://github.com/mvvmcross/mvvmcross
[5] https://platform.uno/blog/demystifing-mvvm-and-introducing-mvux-approach/
[6] https://www.mvvmcross.com/documentation/funmamentals/data-binding
[7] https://www.reactiveui.net/vs/mvvmcross
[8] https://www.reddit.com/r/csharp/comments/10avv3g/suggested_wpf_mvvm_frameworks/
[9] https://github.com/rogerwcpt/xamarin-mvvvm-frameworks
[10] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-verview