Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Mitkä ovat keskeiset erot MVVMCrossin käytön välillä Xamarin.forms ja Xamarin Native


Mitkä ovat keskeiset erot MVVMCrossin käytön välillä Xamarin.forms ja Xamarin Native


Kun verrataan MVVMCrossin käyttöä Xamarin.forms- ja Xamarin -kotoperäisten kanssa, syntyy useita keskeisiä eroja, pääasiassa käyttöliittymän joustavuuden, koodin jakamisen ja kehityslähestymistavan suhteen.

UI: n joustavuus ja hallinta

- Xamarin.Forms: Tämä kehys tarjoaa jaetun käyttöliittymäkerroksen alustojen välillä, mikä yksinkertaistaa kehitystä antamalla sinun kirjoittaa käyttöliittymäkoodia kerran ja ottaa sen käyttöön useilla alustoilla. Tämä jaettu käyttöliittymä voi kuitenkin rajoittaa räätälöinnin alustakohtaisiin ominaisuuksiin ja vaatii räätälöityjä edistyneempiä käyttöliittymäelementtejä [7] [9]. MVVMCROSS: ää voidaan käyttää Xamarin.Forms -yrityksen kanssa liiketoiminnan logiikan ja navigoinnin hallitsemiseksi, mutta käyttöliittymä pysyy standardisoituna alustojen välillä [1] [10].

- Xamarin Native: Kun käytät Xamariinia, joka on kotoisin MVVMCROSS: llä, sinulla on täydellinen hallinta kunkin alustan käyttöliittymän suhteen. Tämä mahdollistaa alustakohtaiset käyttöliittymän toteutukset maksimoimalla kunkin alustan alkuperäisen ilmeen. Vaikka tämä lähestymistapa vaatii enemmän ponnisteluja erillisten käyttöliittymäkerrosten kehittämiseksi iOS: lle ja Androidille, se tarjoaa paremman joustavuuden ja räätälöinnin [7] [9].

Koodin jakaminen ja uudelleenkäyttö

- Xamarin.Forms: Xamarin.Forms -sovelluksella voit jakaa paitsi liiketoimintalogiikan (MVVMCrossin kautta), myös käyttöliittymäkoodin välillä. Tämä yksinkertaistaa kehitystä ja vähentää ylläpitämäsi koodin määrää. Käyttöliittymä on kuitenkin rajoitettu yleiseen elementtijoukkoon, joka toimii kaikilla alustoilla [4] [10].

- Xamarin Native: Native Xamarin -asetuksessa, jossa on MVVMCROSS, voit jakaa liiketoimintalogiikan (ViewModels) -alustojen välillä, mutta sinun on toteutettava käyttöliittymä erikseen jokaiselle alustalle. Tämä lähestymistapa mahdollistaa lisää koodin uudelleenkäytön esityskerroksessa ja käyttöliittymän logiikassa käytettäessä MVVMCross, mutta vaatii silti alustakohtaisen käyttöliittymän kehityksen [9].

Kehityslähestymistapa

- Xamarin.Forms: Kehittäjät mieluummin Xamarin.forms ja MVVMCross on usein mieluummin kehittäjät ilman laajaa mobiilikokemusta, koska se yksinkertaistaa alustojen välistä käyttöliittymäkehitystä. Kehys käsittelee suuren osan taustalla olevasta monimutkaisuudesta, jolloin kehittäjät voivat keskittyä jaettuun logiikkaan ja käyttöliittymään [4] [10].

-Xamarinin kotoperäinen: Native Xamarin -kehitys MVVMCROSS: llä ovat tyypillisesti kehittäjät, jotka haluavat hienorakeista hallintaa käyttöliittymän suhteen ja ovat tyytyväisiä alustakohtaiseen kehitykseen. Tämä lähestymistapa vaatii enemmän asiantuntemusta alkuperäisestä iOS- ja Android -kehityksestä, mutta tarjoaa paremman joustavuuden käyttöliittymän suunnittelussa ja toteutuksessa [7] [9].

Navigointi ja sitominen

- Xamarin.Formit, joilla on MVVMCross: navigointi Xamarinissa. MVVMCROSS: n muodot hallitaan ViewModel -tasolla, mikä mahdollistaa huolenaiheiden puhtaan erottelun. MVVMCross tarjoaa parannettuja sitoutumisominaisuuksia, kuten vara -arvoja, vaikka siitä puuttuu joitain ominaisuuksia, kuten standardista Xamarin.Forms -sidokset [2] [10].

- Xamarin, joka on kotoisin MVVMCross: Native Xamarin -projekteissa, MVVMCross käsittelee navigointia ja View/ViewModel -pariliitosta, mikä mahdollistaa johdonmukaisen MVVM -arkkitehtuurin alustojen välillä. Tämän asennuksen avulla kehittäjät voivat hyödyntää alustakohtaisia ​​navigointimalleja säilyttäen samalla yhteisen liiketoimintalogiikkakerroksen [3] [9].

Yhteenvetona voidaan todeta, että vaikka molemmat lähestymistavat voivat hyödyntää MVVMCrossia MVVM-arkkitehtuuriin, Xamarin.Forms tarjoaa jaetun käyttöliittymäkerroksen, jolla on vähemmän hallintaa alustakohtaisia ​​käyttöliittymäominaisuuksia, kun taas Xamarinin kotoperäinen hallitsee täydellistä käyttöliittymän mukauttamista, mutta vaatii enemmän kehityspyrkimyksiä erillisille käyttöliittymien toteutuksille.

Viittaukset:
[1] https://www.mvvmcross.com/documentation/platform/xamarin.forms/xamarin-FORMS
[2] https://www.xamarinhelp.com/use-xamarin-forms-mvvm-framework/
[3] https://canbilgin.wordpress.com/tag/mvvmcross/
.
.
[6] https://canbilgin.wordpress.com/2017/03/26/xamarin-forms-application-with-mvvmcross/
[7] https://stackoverflow.com/questions/38450264/xamarin-forms-vs-xamarin-mvvmcross
.
[9] https://www.suneco.nl/blogs/boost-your-xamarin-native-projects-with-mvvmcross/
[10] https://visualStudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx