Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Mvvmcross


Mvvmcross


MVVMCross is een krachtig, eigenaardig MVVM (model-view-view-model) framework dat is ontworpen voor de ontwikkeling van platformoverschrijdende applicatie binnen het .NET-ecosysteem. Het ondersteunt verschillende platforms, waaronder Xamarin.ios, Xamarin.android, Xamarin.Forms, Universal Windows Platform (UWP), Windows Presentation Foundation (WPF) en meer [1] [3] [4]. Hier is een overzicht van de belangrijkste functies en hoe het werkt:

Belangrijkste kenmerken van mvvmcross

- MVVM -architectuurpatroon: MVVMCross implementeert het MVVM -patroon, dat de toepassingslogica scheidt in drie onderling verbonden componenten: model, weergave en viewModel [3].
-Navigatiesysteem: het biedt een robuust navigatiesysteem, waardoor het eenvoudig management van weergave-model-naar-viewModel-overgangen [2] [4] mogelijk is.
- Gegevensbinding: MVVMCross bevat een aanpasbare bindende engine, waarmee ontwikkelaars aangepaste bindingen kunnen maken voor hun weergaven [4].
- Inversie van controle (IOC) en afhankelijkheidsinjectie: het framework ondersteunt IOC door afhankelijkheidsinjectie, waardoor losse koppeling en testbaarheid worden vergemakkelijkt [3] [4].
-Platformspecifieke ondersteuning: het biedt uitgebreide ondersteuning voor platformspecifieke functies en functionaliteiten [3].
- plug -ins en extensies: MVVMCross bevat een plug -in framework waarmee ontwikkelaars gemakkelijk extra functionaliteiten zoals GPS, lokalisatie en meer kunnen integreren [4].

hoe mvvmcross werkt

Core en UI -projecten

MVVMCross -toepassingen bestaan ​​meestal uit twee hoofdonderdelen:

- Core Project: dit bevat de bedrijfslogica, viewmodels, services en modellen. Het wordt meestal geïmplementeerd als een .NET Standard Library om te zorgen voor platformonafhankelijke compatibiliteit [2].
- UI-projecten: elk platform (bijv. IOS, Android) heeft zijn eigen UI-project, dat platformspecifieke code en weergaven bevat die interageren met het kernproject [2].

Keyobjecten en initialisatie

- APP -klasse: in het kernproject is deze klasse verantwoordelijk voor het registreren van aangepaste objecten bij de IOC -container en het initialiseren van de toepassingslogica [2].
- AppStart Object: Optioneel, dit object bepaalt welk viewModel moet worden gepresenteerd tijdens het opstarten van de applicatie [2].
- Setup-klasse: gevonden in elk platformproject, initialiseert deze klasse MVVMCross en registreert platformspecifieke services [2].

Initialisatieproces

1. Platformstartup: het opstartproces van het native platform begint.
2. MVVMCROSS -instelling: de klasse `setup` initialiseert het framework in twee stappen:` InitializePrimary` (hoofdthread) en `initialiseCondary '(achtergrondthread) [2].
3. App -initialisatie: de klasse `app` is geïnitialiseerd en biedt een` AppStart` -object om de eerste navigatiestap te beheren [2].

Aan de slag met MVVMCross

Om een ​​nieuw MVVMCross -project te starten, kunnen ontwikkelaars sjablonen zoals MVXscaffolding gebruiken. Het framework is beschikbaar via NuGet-pakketten, die moeten worden geïnstalleerd in zowel de kern- als de platformspecifieke projecten [3] [4]. Voor gedetailleerde gidsen en documentatie zijn de officiële MVVMCross -website en Github -repository uitstekende bronnen [1] [4].

Citaten:
[1] https://www.mvvmcross.com
[2] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[3] https://www.mvvmcross.com/documentation/geting-started/getting-started
[4] https://github.com/mvvmcross/mvvmcross
[5] https://www.mvvmcross.com/blog/
[6] https://github.com/mvvmcross
[7] https://x.com/mvvmcross?lang=en
[8] https://www.nuget.org/profiles/mvvmcross