Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Ako MVVMCross vylepšuje opakované použitie kódu v aplikáciách medzi platformami


Ako MVVMCross vylepšuje opakované použitie kódu v aplikáciách medzi platformami


MVVMCross významne zlepšuje opätovné použitie kódu v aplikáciách medzi platformami využitím architektonického vzoru modelu-view-viewModel (MVVM). Takto to dosiahne:

1. Oddelenie obáv: MVVMcross podporuje jasné oddelenie obáv rozdelením aplikácie na dve hlavné časti: jadro a používateľské rozhranie. Základný projekt, zvyčajne prenosná knižnica triedy (PCL) alebo .NET Standard Library, obsahuje všetky vidieky, modely a obchodná logika. To umožňuje maximálne opätovné použitie kódu na rôznych platformách, pretože obchodná logika je oddelená od kódu špecifického pre platformu [1] [2] [7].

2. ViewModels in Core Project: Umiestnením ViewModels do hlavného projektu MVVMCross umožňuje vývojárom zdieľať tieto komponenty na viacerých platformách. To znamená, že logika zaobchádzania s interakciami používateľa, manipulácie s údajmi a navigácia sa dá znovu použiť bez úprav na rôznych platformách ako iOS, Android a Windows [1] [3] [9].

3. Viazanie údajov: MVVMCross podporuje väzbu údajov, ktorá automaticky aktualizuje používateľské rozhranie, keď sa zmeny vyskytnú v programe ViewModel. Táto funkcia je rozhodujúca pre udržiavanie konzistentnosti na platformách a znižuje potrebu manuálnych aktualizácií používateľského rozhrania, čím sa ďalej zvyšuje opakované použitie kódu [4] [5].

4. Vstrekovanie závislosti a doplnky: MVVMCross obsahuje možnosti doplnkovej architektúry a injekcie závislosti (DI). Tieto funkcie umožňujú vývojárom implementovať funkcie špecifické pre platformu takým spôsobom, že sa k nim dá ľahko získať a znovu použiť z hlavného projektu. To znamená, že zatiaľ čo vrstva používateľského rozhrania musí byť špecifická pre platformu, mnoho základných funkcií je možné zdieľať [3] [9].

5. Navigácia a zobrazenie prezentácie: MVVMCross poskytuje výkonný navigačný systém s prvou spoločnosťou ViewModel, ktorý umožňuje orchestráciu navigácie aplikácií z hlavného projektu. To znamená, že tok interakcií používateľa a prechody obrazovky sa dá spravovať centrálne, čím sa zníži potreba navigačného kódu špecifického pre platformu [7].

6. Efektívna štruktúra projektu: MVVMCross podporuje štruktúrovaný prístup k organizácii projektu, s jasným oddelením medzi platformovo-agnostickým kódom v základnom a platforme špecifickom kóde v projektoch používateľského rozhrania. Táto štruktúra uľahčuje ľahšiu údržbu a rozšírenie aplikácií medzi platformami [2] [9].

Celkovo MVVMCross zvyšuje opätovné použitie kódu centralizáciou obchodnej logiky, využívaním väzby údajov a poskytovaním nástrojov na správu funkcií špecifických pre platformu jednotným spôsobom. Tento prístup výrazne znižuje množstvo duplikovaného kódu a urýchľuje vývoj aplikácií pre medziplatformy.

Citácie:
Https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvvm-apps-with-xamarin-mith-xamarin-mith-mith-mith-xamarin-mith-mith-with-xamarin-and-mcross
[2] https://www.toptal.com/xamarin/cross-platform-apps-with-xamarin
[3] https://www.suneco.nl/blogs/boost-your-xamarin-native-projects-with-mvvvmcross/
[4] https://Tiefenauer.github.io/blog/mobile-app-development-with-xamarin-mvvvvmcross-part-1-introduction/
[5] https://www.mvvmcross.com/documentation/funmamentals/data-binding
[6] https://diglib.tugraz.at/download.php?id=576a78335451d&location=browse
[7] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-verview
[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-mvvvmcross-framework/
[10] https://stackoverflow.com/questions/22409697/maximization-ui-code-reuse-with-xamarin-mvvvmcross