Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Mvvmcross


Mvvmcross


Az MVVMCross egy erőteljes, megítélett MVVM (modell-nézet-nézetmodell) keretrendszer, amelyet a .NET ökoszisztéma területén a platformok közötti alkalmazás fejlesztésére terveztek. Támogatja a különféle platformokat, köztük a Xamarin.ios, a Xamarin.android, a Xamarin.forms, a Universal Windows Platform (UWP), a Windows Presentation Foundation (WPF) és még sok más [1] [3] [4]. Itt található a legfontosabb jellemzők áttekintése és annak működése:

Az mvvmcross legfontosabb jellemzői

- MVVM architektúra mintázat: Az MVVMCross végrehajtja az MVVM mintát, amely az alkalmazás logikáját három összekapcsolt komponensre osztja: Model, View és ViewModel [3].
-Navigációs rendszer: Robusztus navigációs rendszert biztosít, amely lehetővé teszi a ViewModel-ViewModel átmenetek könnyű kezelését [2] [4].
- Adatkötés: Az MVVMCross tartalmaz egy testreszabható kötőmotort, amely lehetővé teszi a fejlesztők számára, hogy egyedi kötéseket hozzanak létre véleményükhöz [4].
- A kontroll (NOC) és a függőség injekciójának inverziója: A keretfüggőség injekcióval támogatja a NOB -t, megkönnyítve a laza összekapcsolódást és a tesztelhetőséget [3] [4].
-Platformspecifikus támogatás: Széles körű támogatást nyújt a platformspecifikus funkciókhoz és funkciókhoz [3].
- pluginok és kiterjesztések: Az MVVMCross tartalmaz egy plugin -keretet, amely lehetővé teszi a fejlesztők számára, hogy egyszerűen integrálják a további funkciókat, például a GPS -t, a lokalizációt és egyebeket [4].

Hogyan működik az mvvmcross

Core és UI projektek

Az MVVMCross alkalmazások általában két fő részből állnak:

- Alapvető projekt: Ez tartalmazza az üzleti logikát, a ViewModels -t, a szolgáltatásokat és a modelleket. Általában .NET standard könyvtárként valósítják meg a platformok közötti kompatibilitás biztosítása érdekében [2].
- UI projektek: Minden platformon (például iOS, Android) rendelkezik saját felhasználói felület projektjével, amely magában foglalja a platformspecifikus kódot és az alapvető projekttel kölcsönhatásba lépő nézeteket [2].

Kulcsobjektumok és inicializálás

- App osztály: Az alapvető projektben található, ez az osztály felelős az egyéni objektumok regisztrálásáért a NOB tárolóval és az alkalmazás logikájának inicializálásáért [2].
- AppStart objektum: Opcionális, ez az objektum meghatározza, hogy melyik ViewModel jelenjen meg először az alkalmazás indításakor [2].
- Beállítási osztály: Az egyes platformprojektekben megtalálható ez az osztály inicializálja az MVVMCross és a Registers platform-specifikus szolgáltatásokat [2].

Inicializálási folyamat

1. platform indítás: A natív platform indítási folyamata megkezdődik.
2. MVVMCross beállítás: A „Setup” osztály két lépésben inicializálja a keretet: `inicializePrimary '(fő szál) és a„ inicializeseScondary ”(háttérszál) [2].
3. App inicializálás: Az „App” osztály inicializálva van, és biztosít egy „Appstart” objektumot az első navigációs lépés kezelésére [2].

Kezdje el az mvvmcross -szal

Egy új MVVMCross projekt elindításához a fejlesztők olyan sablonokat használhatnak, mint az MVXSCAFFORDING. A keret a Nuget Packages segítségével érhető el, amelyet mind a mag, mind a platform-specifikus projektekbe kell telepíteni [3] [4]. A részletes útmutatók és dokumentáció érdekében a hivatalos MVVMCross weboldal és a GitHub tároló kiváló erőforrások [1] [4].

Idézetek:
[1] https://www.mvvmcross.com
[2] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[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