MVVMCross tarjoaa useita etuja muihin MVVM-kehyksiin nähden, etenkin alustojen välisen kehityksen yhteydessä. Tässä on joitain tärkeimmistä eduista:
1. Alaston välinen tuki: MVVMCROSS on suunniteltu tukemaan laajaa alustoa, mukaan lukien Xamarin.ios, Xamarin.android, Xamarin.Mac, Xamarin.Forms, Universal Windows Platform (UWP) ja Windows Presentation Foundation (WPF) [1] [2]. Tämä tekee siitä erinomaisen valinnan kehittäjille, joiden on käytettävä sovelluksiaan useilla alustoilla.
2. MVVM-arkkitehtuuri: MVVMCROSS helpottaa malli-näkymä-viwodel (MVVM) -kuvion toteutusta, josta on hyötyä esityskerroksen erottamisessa liiketoimintalogiikasta. Tämä erotus parantaa sovelluksen ylläpidettävyyttä ja testattavuutta [2] [7].
3. Tietojen sitominen: MVVMCross tarjoaa vankat tietojen sitoutumisominaisuudet, mikä mahdollistaa kaksisuuntaisen yhteyden näkymien ja näkymämallien välillä. Tämä ominaisuus on ratkaisevan tärkeä synkronoinnin ylläpitämiseksi käyttöliittymän ja taustalla olevan tietomallin välillä [6].
4. Navigointijärjestelmä: Kehys sisältää tehokkaan näkymämallin ensisijaisen navigointijärjestelmän, joka yksinkertaistaa sovelluksen eri osien navigointiprosessia. Tämä järjestelmä on erittäin muokattavissa ja tukee monimutkaisia navigointiskenaarioita [5].
5. Riippuvuusinjektio (di) ja ohjauksen inversio (IOC): MVVMCROSS tarjoaa kevyen DI -säiliön, joka tukee erilaisia rekisteröintimalleja, kuten singletonia ja dynaamisia rekisteröintejä. Tämä mahdollistaa riippuvuuksien helpon hallinnan koko sovelluksessa, parantaa modulaarisuutta ja testattavuutta [2].
6. Laajennusarkkitehtuuri: Kehys sisältää laajennusjärjestelmän, jonka avulla kehittäjät voivat helposti integroida alustakohtaiset ominaisuudet tai kolmansien osapuolien kirjastot sovelluksiinsa. Tämä järjestelmä tukee laajennusten käyttöajan injektiota, mikä helpottaa alustojen välistä koodia [4].
7. Koodin uudelleenkäytettävyys: MVVMCROSS maksimoi näyttömallien sijoittamisen kannettavaan luokan kirjastoon (PCL) tai .NET -standardikirjastoon eri alustojen koodin uudelleenkäyvyyden. Tämä lähestymistapa vähentää merkittävästi kehitysaikaa ja vaivaa [3] [7].
8. Native UI -tuki: Toisin kuin jotkut muut kehykset, kuten Xamarin.forms, MVVMCross tukee jokaiselle alustalle natiivia käyttöliittymän kehitystä. Tämä tarkoittaa, että kehittäjät voivat luoda alustakohtaisia käyttöliittymiä, jotka hyödyntävät alkuperäisiä hallintalaitteita ja sovellusliittymiä, mikä johtaa jokaiselle alustalle alkuperäismpää ilmettä ja tunteita [3] [7].
9. Joustavuus ja muokattavuus: MVVMCross on erittäin konfiguroitavissa ja antaa kehittäjille mahdollisuuden ohittaa monet sen komponentit. Tämä joustavuus tekee siitä sopivan monenlaiseen projektivaatimuksiin ja kehitystyyleihin [4].
Kaiken kaikkiaan MVVMCross tarjoaa tehokkaan yhdistelmän alustojen välistä tukea, MVVM-arkkitehtuuria, tietojen sitomista, navigointia, riippuvuuden injektiota ja koodien uudelleenkäytettavuutta, mikä tekee siitä vahvan valinnan kehittäjille, jotka rakentavat monimutkaisia, ylläpidettäviä sovelluksia useilla alustoilla.
Viittaukset:.
[2] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvm-apps-with-xamarin-and-mvvmcross
[3] https://www.suneco.nl/blogs/boost-your-xamarin-native-projects-with-mvvmcross/
[4] https://github.com/mvvmcross/mvvmcross
.
[6] https://www.mvvmcross.com/documentation/fundamentals/data-binding
.
[8] https://stackoverflow.com/questions/26783673/mvmcross-for-new--cross-platform-project