MVVMCross est un framework MVVM (Model-View-ViewModel) puissant conçu pour le développement d'applications multiplateforme dans l'écosystème .NET. Il prend en charge diverses plates-formes, notamment Xamarin.ios, Xamarin.Android, Xamarin.Forms, Universal Windows Platform (UWP), Windows Presentation Foundation (WPF), et plus [1] [3] [4]. Voici un aperçu de ses caractéristiques clés et de son fonctionnement:
Caractéristiques clés de MVVMCross
- Modèle d'architecture MVVM: MVVMCROSS implémente le modèle MVVM, qui sépare la logique d'application en trois composants interconnectés: modèle, vue et vue View [3].
- Système de navigation: il fournit un système de navigation robuste, permettant une gestion facile des transitions ViewModel-to-ViewModel [2] [4].
- Boueurs de données: MVVMCross inclut un moteur de liaison personnalisable, permettant aux développeurs de créer des liaisons personnalisées pour leurs vues [4].
- Inversion du contrôle (CIO) et injection de dépendance: le cadre soutient le CIO par injection de dépendance, facilitant le couplage et la testabilité lâches [3] [4].
- Support spécifique à la plate-forme: il offre un support approfondi pour les fonctionnalités et les fonctionnalités spécifiques à la plate-forme [3].
- Plugins et extensions: MVVMCross comprend un cadre de plugin qui permet aux développeurs d'intégrer facilement des fonctionnalités supplémentaires comme le GPS, la localisation, et plus encore [4].
Comment fonctionne MVVMCross
projets de noyau et d'interface utilisateur
Les applications MVVMCross se composent généralement de deux pièces principales:
- Core Project: Ceci contient la logique métier, les modes de vue, les services et les modèles. Il est généralement implémenté en tant que bibliothèque standard .NET pour assurer la compatibilité de plate-forme multipliée [2].
- Projets d'interface utilisateur: chaque plate-forme (par exemple, iOS, Android) a son propre projet d'interface utilisateur, qui comprend du code et des vues spécifiques à la plate-forme qui interagissent avec le projet de base [2].
Objets clés et initialisation
- Classe d'application: Situé dans le projet Core, cette classe est responsable de l'enregistrement d'objets personnalisés avec le conteneur IOC et de l'initialisation de la logique d'application [2].
- APPSTART Objet: Facultatif, cet objet détermine le ViewModel à présenter d'abord lors du démarrage de l'application [2].
- Classe de configuration: trouvé dans chaque projet de plate-forme, cette classe initialise les services spécifiques à MVVMCross et enregistre les services spécifiques à la plate-forme [2].
Processus d'initialisation
1. Startup de plate-forme: le processus de démarrage de la plate-forme native commence.
2. Configuration de MVVMCross: la classe `SETUP` Initialise le cadre en deux étapes:` initialisePrimary` (thread principal) et «InitializeSecondary» (thread de fond) [2].
3. Initialisation de l'application: la classe «App» est initialisée et fournit un objet `appstart» pour gérer la première étape de navigation [2].
En démarrage avec mvvmcross
Pour démarrer un nouveau projet MVVMCROSS, les développeurs peuvent utiliser des modèles comme MVXSCaFolding. Le cadre est disponible via les packages NuGet, qui doivent être installés dans les projets au cœur et spécifiques à la plate-forme [3] [4]. Pour les guides et la documentation détaillés, le site Web officiel de MVVMCross et le référentiel GitHub sont d'excellentes ressources [1] [4].
Citations:[1] https://www.mvvmcross.com
[2] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[3] https://www.mvvmcross.com/documentation/getting-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