Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kako MVVMcross izboljšuje ponovno uporabo kode v aplikacijah med platformami


Kako MVVMcross izboljšuje ponovno uporabo kode v aplikacijah med platformami


MVVMcross bistveno izboljša ponovno uporabo kode v aplikacijah med platformami, tako da uporabi arhitekturni vzorec Model-View-ViewModel (MVVM). Evo, kako to dosega:

1. Ločitev pomislekov: MVVMcross spodbuja jasno ločitev pomislekov z deljenjem aplikacije na dva glavna dela: jedro in uporabniški vmesnik. Osrednji projekt, običajno knjižnica prenosnih razredov (PCL) ali .NET Standard Library, vsebuje vse ViewModele, modele in poslovno logiko. To omogoča, da se največja uporaba kode na različnih platformah, saj se poslovna logika loči iz kode, specifične za platformo [1] [2] [7].

2. ViewModels v Core Project: MVVMcross z namestitvijo ViewModels v osnovni projekt omogoča razvijalcem, da te komponente delijo na več platformah. To pomeni, da je mogoče logiko za ravnanje z interakcijami uporabnikov, manipulacijo s podatki in navigacijo ponovno uporabiti brez sprememb na različnih platformah, kot so iOS, Android in Windows [1] [3] [9].

3. Podatkovna vezava: MVVMcross podpira vezavo podatkov, ki samodejno posodobi uporabniški vmesnik, ko se v ViewModelu pojavijo spremembe. Ta funkcija je ključnega pomena za ohranjanje doslednosti na platformah in zmanjšanje potrebe po posodobitvah ročnega uporabniškega vmesnika, nadaljnje izboljšave kode za ponovno uporabo [4] [5].

4. Vbrizgavanje odvisnosti in vtičniki: MVVMcross vključuje zmogljivosti vtičnika arhitekture in vbrizgavanja odvisnosti (DI). Te funkcije omogočajo razvijalcem, da izvajajo funkcionalnosti, specifične za platformo, na način, do katerih je mogoče enostavno dostopati in ponovno uporabiti iz osnovnega projekta. To pomeni, da čeprav mora biti plast uporabniškega vmesnika specifična za platformo, je mogoče še vedno deliti veliko osnovnih funkcionalnosti [3] [9].

5. Predstavitelji navigacije in ogledov: MVVMcross ponuja močan navigacijski sistem ViewModel-prvi, ki omogoča orkestracijo navigacije v aplikaciji iz osnovnega projekta. To pomeni, da lahko pretok uporabniških interakcij in prehodov zaslona upravljate centralno, kar zmanjšuje potrebo po navigacijski kodi, specifični za platformo [7].

6. Učinkovita struktura projektov: MVVMcross spodbuja strukturiran pristop k organizaciji projektov, z jasnim ločitvijo med platformo-agnostično kodo v jedru in kodo, specifično za platformo, v projektih uporabniškega vmesnika. Ta struktura olajša vzdrževanje in razširitev aplikacij med platformami [2] [9].

Na splošno MVVMcross izboljšuje kodo za ponovno uporabo s centralizacijo poslovne logike, izkoriščanjem vezave podatkov in zagotavljanjem orodij za enotno upravljanje funkcionalnosti, specifičnih za platformo, na enoten način. Ta pristop znatno zmanjšuje količino podvojene kode in pospešuje razvoj aplikacij za več platform.

Navedbe:
[1] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-boille-build-mvvm-apps-with-xamarin-and-mvvmcross
[2] https://www.toptal.com/xamarin/cross-platform-apps-with-xamarin
[3] https://www.suneco.nl/blogs/boost-your-xamarin-native-projects-with-mvvmcross/
[4] https://tiefenAuer.github.io/blog/mobile-app-development-with-xamarin-and-mvvmcross-part-1-introduction/
[5] https://www.mvvmcross.com/documentation/fundamentals/data----
[6] https://diglib.tugraz.at/download.php?id=576A78335451D&location=browse
[7] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[8] https://www.reddit.com/r/swift/comments/yrqlhu/is_crossplatform_the_future_of_mobile_development/
[9] https://leaware.com/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework/
[10] https://stackoverflow.com/questions/22409697/maximizing-ui-code-reuse-with-xamarin-mvvmcross