Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Mvvmcross


Mvvmcross


MVVMCross je výkonný, stanovený rámec MVVM (Model-View-ViewModel) určený pre rozvoj aplikácií viacerých platforiem v rámci ekosystému .NET. Podporuje rôzne platformy vrátane Xamarin.ios, Xamarin.android, Xamarin.Forms, Universal Windows Platform (UWP), Foundation Foundation Windows (WPF) a ďalších [1] [3] [4]. Tu je prehľad jeho kľúčových funkcií a toho, ako to funguje:

Kľúčové funkcie MVVMCross

- Vzor architektúry MVVM: MVVMCross implementuje vzor MVVM, ktorý rozdeľuje logiku aplikácie na tri vzájomne prepojené komponenty: model, pohľad a viewmodel [3].
-Navigačný systém: Poskytuje robustný navigačný systém, ktorý umožňuje ľahké riadenie prechodov ViewModel-To-ViewModel [2] [4].
- Viazanie údajov: MVVMCross obsahuje prispôsobiteľný väzbový motor, ktorý vývojárom umožňuje vytvárať vlastné väzby pre ich názory [4].
- Inverzia kontroly (IOC) a injekcia závislosti: rámec podporuje IOC vstrekovaním závislosti, čo uľahčuje voľnú väzbu a testovateľnosť [3] [4].
-Podpora špecifická pre platformu: Ponúka rozsiahlu podporu pre funkcie a funkcie špecifické pre platformu [3].
- Pluginy a rozšírenia: MVVMCross obsahuje rámec doplnkov, ktorý vývojárom umožňuje ľahko integrovať ďalšie funkcie, ako sú GPS, lokalizácia a ďalšie [4].

Ako funguje mvvmcross

Core and UI projekty

Aplikácie MVVMCross zvyčajne pozostávajú z dvoch hlavných častí:

- Základný projekt: Obsahuje obchodnú logiku, pohľady, služby a modely. Zvyčajne sa implementuje ako štandardná knižnica .NET, aby sa zabezpečila kompatibilita medzi platformami [2].
- Projekty používateľského rozhrania: Každá platforma (napr. IOS, Android) má svoj vlastný projekt používateľského rozhrania, ktorý obsahuje kód a pohľady špecifické pre platformu, ktoré interagujú s hlavným projektom [2].

Kľúčové objekty a inicializácia

- Trieda aplikácie: Táto trieda, ktorá sa nachádza v hlavnom projekte, je zodpovedná za registráciu vlastných objektov pomocou kontajnera IOC a inicializáciu logiky aplikácie [2].
- Object AppStart: Voliteľné, tento objekt určuje, ktorý ViewModel sa má predstaviť ako prvý počas spustenia aplikácie [2].
- Trieda nastavenia: V každom projekte platformy táto trieda inicializuje MVVMCross a registruje služby špecifické pre platformu [2].

inicializačný proces

1. Spustenie platformy: Začína sa proces spustenia natívnej platformy.
2. MVVMCross Nastavenie: Trieda `Setup` inicializuje rámec v dvoch krokoch:` inicializePrimary` (hlavné vlákno) a `inicializácie` (vlákno pozadia) [2].
3. Inicializácia aplikácie: Trieda `App` je inicializovaná a poskytuje objekt AppStart` na správu prvého navigačného kroku [2].

Začíname s mvvmcrossom

Na spustenie nového projektu MVVMCross môžu vývojári používať šablóny ako MVXScaffolding. Rámec je k dispozícii prostredníctvom balíkov NUGET, ktoré by sa mali nainštalovať v projektoch špecifických pre jadro aj platformy [3] [4]. V prípade podrobných sprievodcov a dokumentácie sú oficiálne webové stránky MVVMCross a úložisko GitHub vynikajúce zdroje [1] [4].

Citácie:
[1] https://www.mvvmcross.com
[2] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-verview
[3] https://www.mvvmcross.com/documentation/getting-started/getting-started
[4] https://github.com/mvvmcross/mvvmcross
[5] https://www.mvvmcross.com/blog/
[6] https://github.com/mvvmcross
[7] https://x.com/mvvmcross?lang=en
[8] https://www.nuget.org/profiles/mvvmcross