Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Melyek a legfontosabb különbségek az MVVMCross Xamarin.Forms és a Xamarin natív használatával


Melyek a legfontosabb különbségek az MVVMCross Xamarin.Forms és a Xamarin natív használatával


Amikor összehasonlítjuk az MVVMCross használatát a Xamarin.Forms és a Xamarin natív használatával, számos kulcsfontosságú különbség merül fel, elsősorban az UI rugalmasságának, a kódmegosztásnak és a fejlesztési megközelítésnek a tekintetében.

UI rugalmasság és vezérlés

- Xamarin.Forms: Ez a keret egy megosztott felhasználói felületréteget biztosít a platformokon keresztül, amely egyszerűsíti a fejlesztést azáltal, hogy lehetővé teszi az UI -kód egyszeri írását és több platformon történő telepítését. Ez a megosztott felhasználói felület azonban korlátozhatja a testreszabást a platformspecifikus funkciókra, és az egyedi megjelenítőket igényli a fejlettebb felhasználói felület elemekhez [7] [9]. Az MVVMCross használható a Xamarin.Forms segítségével az üzleti logika és a navigáció kezelésére, de az UI a platformokon keresztül szabványosított marad [1] [10].

- Xamarin natív: A Xamarin natív használatakor az mvvmcross -szal teljes ellenőrzéssel rendelkezik az egyes platformok felhasználói felületén. Ez lehetővé teszi a platformspecifikus felhasználói felület megvalósítását, maximalizálva az egyes platformok natív megjelenését és hangulatát. Noha ez a megközelítés több erőfeszítést igényel az iOS és az Android külön felhasználói felületrétegeinek kidolgozására, nagyobb rugalmasságot és testreszabást kínál [7] [9].

kódmegosztás és újrafelhasználás

- Xamarin.Forms: A Xamarin.Forms segítségével nemcsak az üzleti logikát (az MVVMCross segítségével) megoszthatja, hanem a felhasználói felület kódját is. Ez egyszerűsíti a fejlődést és csökkenti a fenntartáshoz szükséges kód mennyiségét. A felhasználói felület azonban az összes platformon működő általános elemkészletre korlátozódik [4] [10].

- Xamarin natív: Egy natív Xamarin beállításban az MVVMCross -szal megoszthatja az üzleti logikát (ViewModels) a platformokon keresztül, de az UI -t külön -külön kell végrehajtania az egyes platformon. Ez a megközelítés lehetővé teszi a kód újrafelhasználását a prezentációs rétegben és az UI logikában az MVVMCross használatakor, de mégis igényel platformspecifikus felhasználói felület fejlesztését [9].

Fejlesztési megközelítés

- Xamarin.Forms: A Xamarin.Forms és az MVVMCross fejlesztése gyakran a fejlesztők általánosságban részesíti előnyben, mivel ez egyszerűsíti a platformok közötti felhasználói felület fejlődését. A keret a mögöttes bonyolultság nagy részét kezeli, lehetővé téve a fejlesztők számára, hogy a megosztott logikára és az UI -re összpontosítsanak [4] [10].

-Xamarin natív: A natív xamarin fejlesztést az mvvmcross-szal általában olyan fejlesztők kedvelik, akik finom szemcsés ellenőrzést akarnak az UI felett, és kényelmesek a platform-specifikus fejlődésben. Ez a megközelítés nagyobb szakértelmet igényel a natív iOS és az Android fejlesztésében, de nagyobb rugalmasságot kínál a felhasználói felület tervezésében és megvalósításában [7] [9].

Navigáció és kötés

- Xamarin.Forms MVVMCross: Navigáció a Xamarin.forms -ban az MVVMCross -szal a ViewModel szinten kezelik, lehetővé téve az aggodalmak tiszta szétválasztását. Az MVVMCross fokozott kötési képességeket biztosít, például a tartalékértékeket, bár hiányzik néhány olyan funkció, mint például a standard Xamarin.Forms kötésekben található forrás tulajdonság [2] [10].

- Xamarin natív az MVVMCross -szal: A natív Xamarin projektekben az MVVMCross kezeli a navigációt és a nézet/nézetModel párosítást, lehetővé téve a folyamatos MVVM architektúrát a platformokon. Ez a beállítás lehetővé teszi a fejlesztők számára, hogy kihasználják a platform-specifikus navigációs mintákat, miközben fenntartják a megosztott üzleti logikai réteget [3] [9].

Összefoglalva: bár mindkét megközelítés kihasználhatja az MVVMCross MVVM architektúráját, a Xamarin.Forms megosztott felhasználói felületréteget kínál, amely kevésbé ellenőrzi a platformspecifikus felhasználói felület tulajdonságait, míg a Xamarin natív teljes ellenőrzést biztosít az UI testreszabása felett, de további fejlesztési erőfeszítéseket igényel a külön felhasználói felület megvalósításához.

Idézetek:
[1] https://www.mvvmcross.com/documentation/platform/xamarin.forms/xamarin-fors
[2] https://www.xamarinhelp.com/use-xamarin-forms-mvvm-framework/
[3] https://canbilgin.wordpress.com/tag/mvvmcross/
[4] https://www.mvvmcross.com/documentation/getting-started/getting-started
[5] https://www.reddit.com/r/androiddev/comments/6cseds/what_are_the_disadvantages_of_xamarin_for_android/
[6] https://canbilgin.wordpress.com/2017/03/26/xamarin-forms-application-with-mvvmcross/
[7] https://stackoverflow.com/questions/38450264/xamarin-forms-vs-xamarin-mvvmcross
[8] https://mentormate.com/blog/6-Reasons-mvvmcross-speeds-xamarin-development-peranalizes-ux/
[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