MVVMCross on monipuolinen ja laajennettava MVVM-kehys, joka on suunniteltu alustojen väliseen kehitykseen, etenkin .NET-ekosysteemissä. Se tukee laajaa valikoimaa alustoja, mukaan lukien xamarin.ios, xamarin.android, xamarin.forms, Universal Windows -alusta (UWP) ja Windows -esityskehys (WPF) [1] [2] [4]. Yksi MVVMCROSS: n tärkeimmistä piirteistä on sen kyky integroida muihin puitteisiin ja kirjastoihin, mikä parantaa sen hyödyllisyyttä monimutkaisessa sovelluskehityksessä.
Integraatio muihin kehyksiin
1. Vaikka CSLA.NET keskittyy liiketoimintalogiikkaan ja tietojen mallintamiseen, MVVMCross käsittelee käyttöliittymän ja sovellustason logiikan. Kehittäjät voivat hyödyntää CSLA.NET: n Business Object -kehystä perimällä CSLA: n "ViewModelBase" -sovelluksen ja toteuttamalla MVVMCROSS: n vaatimukset. Tämä integraatio mahdollistaa koodin jakamisen alustojen välillä säilyttäen samalla huolenaiheiden erottelun [5].
2. Reaktiivista integraatiota: Vaikka MVVMCross ja ReactiveUi ovat molemmat MVVM -kehyksiä, ne palvelevat erilaisia tarkoituksia. MVVMCROSS on keskittynyt enemmän natiiviin mobiilisovelluksiin ja koodien jakamiseen, kun taas reaktiivisetUi korostaa reaktiivista ohjelmointia reaktiivisilla laajennuksilla (RX). Vaikka niitä voi esiintyä rinnakkain, niitä käytetään tyypillisesti sovelluskehityksen eri näkökohtiin. MVVMCROSS tarjoaa kattavan joukon ominaisuuksia käyttöliittymän kehittämiselle, kun taas reaktiivinen on ihanteellinen sovelluksille, jotka vaativat edistyneitä asynkronisia toimintoja [7].
3. Se toimii myös hyvin muiden käyttöliittymäkehysten, kuten Mauin ja WPF: n, kanssa tarjoamalla joustavuutta käyttöliittymän kerroksen valinnassa [3] [7].
4 Tämän laajennettavuuden avulla kehittäjät voivat mukauttaa puitteet heidän projektitarpeidensa mukaisesti [1] [2].
Tärkeimmät ominaisuudet, jotka helpottavat integraatiota
- Ohjauksen (IOC) ja riippuvuusinjektio: MVVMCross tarjoaa IOC -säiliön, joka helpottaa riippuvuuden injektiota, mikä helpottaa integroitumista muihin puitteisiin hallitsemalla riippuvuuksia ja palveluita sovelluksessa [1] [4].
- Mukautettava sidontamoottori: Kehys antaa kehittäjille mahdollisuuden luoda räätälöityjä sidoksia heidän näkemyksilleen, jotka voivat olla hyödyllisiä integroituessaan muihin käyttöliittymäkomponentteihin tai kehyksiin, jotka vaativat erityisiä tietojen sitomismekanismeja [1] [2].
- ViewModel to ViewModel -navigointi: Tämä ominaisuus auttaa hallitsemaan navigointilogiikkaa, joka voidaan integroida muiden kehysten navigointimallien kanssa, jotta varmistetaan johdonmukainen käyttökokemus eri alustoilla [1] [2].
Yhteenvetona voidaan todeta, että MVVMCROSS on suunniteltu erittäin integroitavaksi muiden kehysten ja kirjastojen kanssa, jolloin kehittäjät voivat hyödyntää sen vahvuuksiaan MVVM -arkkitehtuurissa ja sisällyttää samalla lisätoiminnot muista työkaluista. Sen laajennettavuus ja tuki eri alustoille tekevät siitä monipuolisen valinnan alustojen väliseen sovelluskehitykseen.
Viittaukset:[1] https://github.com/mvvmcross/mvvmcross
[2] https://dotnet.libhunt.com/mvvmcross-alternaties
.
.
.
.
[7] https://www.reactiveui.net/vs/mvvmcross
[8] https://www.mvvmcross.com
[9] https://github.com/rogerwcpt/xamarin-mvvvm-frameworks