Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Může být mvvmcross integrováno do jiných rámců nebo knihoven


Může být mvvmcross integrováno do jiných rámců nebo knihoven


MVVMCross je všestranný a rozšiřitelný rámec MVVM určený pro rozvoj napříč platformami, zejména v ekosystému .NET. Podporuje širokou škálu platforem, včetně Xamarin.IOS, Xamarin.Android, Xamarin.Forms, Universal Windows Platform (UWP) a Prezentačního rámce Windows (WPF) [1] [2] [4]. Jednou z klíčových rysů MVVMCross je jeho schopnost integrovat se s jinými rámci a knihovnami, která zvyšuje jeho užitečnost ve složitém vývoji aplikací.

Integrace s jinými rámci

1. Integrace CSLA.NET: MVVMCross lze použít spolu s rámcem obchodních objektů CSLA.net. Zatímco CSLA.net se zaměřuje na obchodní logiku a modelování dat, MVVMCross zpracovává logiku UI a na úrovni aplikací. Vývojáři mohou využít rámec obchodních objektů CSLA.net tím, že zdědí z „ViewModelbase“ CSLA a implementují požadavky MVVMCross. Tato integrace umožňuje sdílení kódu na platformách při zachování jasného oddělení obav [5].

2. Integrace ReactiveUi: Ačkoli MVVMCross a ReactiveUi jsou rámce MVVM, slouží různým účelům. MVVMCross se více zaměřuje na nativní mobilní aplikace a sdílení kódů, zatímco ReactiveUi zdůrazňuje reaktivní programování pomocí reaktivních rozšíření (RX). I když mohou koexistovat, obvykle se používají pro různé aspekty vývoje aplikací. MVVMCross poskytuje komplexní sadu funkcí pro vývoj uživatelského rozhraní, zatímco ReactiveUi je ideální pro aplikace vyžadující pokročilé asynchronní operace [7].

3. Xamarin.Forms a další rámce uživatelského rozhraní: MVVMCross podporuje integraci s Xamarin.Forms, což vývojářům umožňuje vytvářet aplikace napříč platformami se sdílenou obchodní logikou. Funguje také dobře s jinými rámci uživatelského rozhraní, jako jsou Maui a WPF, což poskytuje flexibilitu při výběru vrstvy uživatelského rozhraní [3] [7].

4. Plugin Framework: MVVMCross obsahuje rámec pluginu, který vývojářům umožňuje rozšířit jeho funkčnost přidáním pluginů třetích stran pro funkce, jako je umístění GPS, lokalizace a vazebná rozšíření. Tato rozšiřitelnost umožňuje vývojářům přizpůsobit rámec podle jejich potřeb projektu [1] [2].

Klíčové funkce usnadňující integraci

- Inverze kontroly (IOC) a závislost Injekce: MVVMCross poskytuje kontejner IOC, který usnadňuje injekci závislosti, což usnadňuje integraci s jinými rámci správou závislostí a služeb napříč aplikací [1] [4].

- Přizpůsobitelný vazebný motor: Rámec umožňuje vývojářům vytvářet vlastní vazby pro jejich názory, což může být užitečné při integraci s jinými komponenty nebo rámcemi uživatelského rozhraní, které vyžadují specifické mechanismy vázání dat [1] [2].

- ViewModel to ViewModel Navigation: Tato funkce pomáhá spravovat navigační logiku, kterou lze integrovat s navigačními vzory jiných rámců, aby se zajistila konzistentní uživatelská zkušenost na různých platformách [1] [2].

Stručně řečeno, MVVMCross je navržen tak, aby byl vysoce integrovatelný s jinými rámci a knihovnami, což vývojářům umožňuje využívat své silné stránky v architektuře MVVM a zároveň zahrnovat další funkce z jiných nástrojů. Díky jeho rozšiřitelnosti a podpoře různých platforem z něj činí všestrannou volbu pro vývoj aplikací napříč platformami.

Citace:
[1] https://github.com/mvvmcross/mvvmcross
[2] https://dotnet.libhunt.com/mvvmcross-alternatives
[3] https://visualstudiomagazine.com/articles/2018/05/08/Build-a-xamarin.forms-application.aspx
[4] https://www.mvvmcross.com/documentation/getting-started/getting-started
[5] https://stackoverflow.com/questions/17373587/how-well--mvvmcross-and-t-work-wogether-in-a-platform-trategy
[6] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[7] https://www.reactiveui.net/vs/mvvmcross
[8] https://www.mvvmcross.com
[9] https://github.com/rogerwcpt/xamarin-mvvvm-frameworks