Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Mvvmcross


Mvvmcross


MVVMcross je močan, samozavestni MVVM (Model-View-ViewModel) okvir, zasnovan za medsebojni razvoj aplikacij v .NET ekosistemu. Podpira različne platforme, vključno z xamarin.ios, xamarin.android, xamarin.forms, Universal Windows platform (UWP), fundacijo za predstavitev sistema Windows (WPF) in še več [1] [3] [4]. Tu je pregled njegovih ključnih značilnosti in kako deluje:

Ključne značilnosti mvvmcross

- Vzorec arhitekture MVVM: MVVMcross izvaja vzorec MVVM, ki logiko aplikacije loči na tri medsebojno povezane komponente: model, pogled in ViewModel [3].
-Navigacijski sistem: Omogoča robusten navigacijski sistem, ki omogoča enostavno upravljanje prehodov ViewModel-ViewModel [2] [4].
- Vezava podatkov: MVVMcross vključuje prilagodljiv vezivni motor, ki razvijalcem omogoča, da ustvarijo vezi po meri za svoje poglede [4].
- Inverzija nadzora (IOC) in vbrizgavanje odvisnosti: Okvir podpira IOC z vbrizgavanjem odvisnosti, kar olajša ohlapno spajanje in pristnost [3] [4].
-Podpora, specifična za platformo: ponuja obsežno podporo za značilnosti in funkcionalnosti, specifične za platformo [3].
- Vtičniki in razširitve: MVVMcross vključuje okvir vtičnikov, ki razvijalcem omogoča enostavno integracijo dodatnih funkcionalnosti, kot so GPS, lokalizacija in drugo [4].

Kako deluje mvvmcross

Core in UI projekti

Aplikacije mvvmcross običajno sestavljajo dva glavna dela:

- Osrednji projekt: Ta vsebuje poslovno logiko, ViewModele, storitve in modele. Običajno se izvaja kot .NET standardna knjižnica, da se zagotovi združljivost med platformami [2].
- Projekti uporabniškega vmesnika: Vsaka platforma (npr. IOS, Android) ima svoj uporabniški projekt, ki vključuje kodo, specifično za platformo, in poglede, ki vplivajo na osnovni projekt [2].

Ključni predmeti in inicializacija

- Razred aplikacij: Nahaja se v osnovnem projektu, ta razred je odgovoren za registracijo predmetov po meri s vsebnikam IOC in inicializacijo logike aplikacije [2].
- AppStart objekt: Izbirno, ta objekt določa, kateri ViewModel naj se najprej predstavi med zagonom aplikacije [2].
- Nastavitev razreda: Ta razred, ki ga najdemo v vsakem projektu platforme, inicializira storitve MVVMcross in Registers, specifične za platformo [2].

Proces inicializacije

1. Zagon platforme: Začetek postopka zagona domače platforme.
2. Nastavitev mvvmcross: Razred `setUp` inicializira okvir v dveh korakih:` inicializeprimary` (glavna nit) in `inicializeCondAry` (nit ozadja) [2].
3. Inicializacija aplikacije: Razred `App je inicializiran in ponuja objekt` appstart` za upravljanje prvega koraka navigacije [2].

Začetek z mvvmcross

Za začetek novega projekta MVVMCross lahko razvijalci uporabljajo predloge, kot je MVXSCAFFOLDING. Okvir je na voljo prek paketov NuGet, ki jih je treba namestiti tako v jedro kot v platformi, specifičnih za platformo [3] [4]. Za podrobne vodnike in dokumentacijo sta uradna spletna stran MVVMcross in repozitorij GitHub odlična sredstva [1] [4].

Navedbe:
[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=sl
[8] https://www.nuget.org/profiles/mvvmcross