Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Quelles sont les principales différences entre l'utilisation de Mvvmcross et Xamarin.


Quelles sont les principales différences entre l'utilisation de Mvvmcross et Xamarin.


MVVMCross et Xamarin.Forms sont deux technologies distinctes utilisées dans le développement d'applications mobiles multiplateforme, chacun servant des objectifs différents et offrant des avantages uniques.

Aperçu de xamarin.forms

Xamarin.forms est un cadre développé par Microsoft qui permet aux développeurs de créer des applications multiplateformes à l'aide d'un C # CodeBase partagé et XAML pour l'interface utilisateur. Il permet aux développeurs d'écrire une fois et d'exécuter sur plusieurs plates-formes, notamment iOS, Android et UWP. Xamarin.forms est idéal pour les projets où une interface utilisateur cohérente sur les plates-formes est souhaitée, et il simplifie le processus de développement en fournissant une API unifiée pour les composants de l'interface utilisateur. Cependant, cette cohérence se fait au coût de la flexibilité, car l'interface utilisateur est limitée à un sous-ensemble d'éléments communs de chaque plate-forme, ce qui peut entraîner des limites dans la réalisation de look et de sensation natifs ou une personnalisation d'interface utilisateur avancée [4] [7].

Aperçu de MVVMCROSS

MVVMCross est un cadre MVVM (Model-View-ViewModel) multiplateforme qui prend en charge Xamarin.ios, Xamarin.Android, Xamarin.Forms et d'autres plates-formes. Il se concentre sur la séparation de la logique métier de l'interface utilisateur, permettant aux développeurs de partager une partie importante de leur code sur différentes plateformes. MVVMCross fournit des fonctionnalités telles que la liaison des données, la navigation, l'inversion du contrôle et l'injection de dépendance, qui facilitent le développement d'applications complexes. Contrairement à Xamarin.Forms, MVVMCross n'applique pas de cadre d'interface utilisateur spécifique; Au lieu de cela, il permet aux développeurs de choisir comment ils souhaitent implémenter l'interface utilisateur pour chaque plate-forme, offrant plus de flexibilité pour réaliser des expériences d'interface utilisateur natives [7] [10].

Différences clés

1. Implémentation d'interface utilisateur:
- xamarin.forms: utilise une couche d'interface utilisateur partagée sur les plates-formes, ce qui simplifie le développement mais peut limiter la personnalisation et l'aspect et la sensation natifs.
- MVVMCROSS: permet une implémentation d'interface utilisateur native sur chaque plate-forme ou une interface utilisateur partagée avec Xamarin.Formes, offrant plus de flexibilité dans la réalisation de conceptions d'interface utilisateur spécifiques à la plate-forme.

2. Partage de code:
- Les deux cadres permettent le partage de code, mais MVVMCross se concentre sur le partage de la logique métier (ViewModels) tout en permettant différentes implémentations d'interface utilisateur. Xamarin.forms partage l'interface utilisateur et la logique métier.

3. Navigation et liaison des données:
- MVVMCROSS fournit un système de navigation robuste et des capacités de liaison des données qui fonctionnent dans différents cadres d'interface utilisateur, y compris xamarin.forms. Xamarin.forms repose sur ses propres mécanismes de navigation et de liaison des données.

4. Complexité du projet:
- Pour les projets complexes nécessitant une personnalisation de l'interface utilisateur avancée ou des fonctionnalités spécifiques à la plate-forme, MVVMCross pourrait être plus approprié en raison de sa flexibilité. Pour les projets plus simples où une interface utilisateur cohérente est suffisante, xamarin.forms peut être plus simple à mettre en œuvre.

5. Approche de développement:
- xamarin.forms est souvent préféré par les développeurs familiers avec XAML et .NET, car il offre une expérience de développement unifiée. MVVMCROSS est bénéfique pour les projets où la logique métier doit être découplée de l'interface utilisateur, ce qui permet un contrôle davantage sur l'implémentation de l'interface utilisateur sur chaque plate-forme.

En résumé, tandis que les deux cadres prennent en charge le développement multiplateforme, Xamarin.forms se concentre sur le partage de la couche d'interface utilisateur sur les plates-formes, tandis que MVVMCross met l'accent sur le partage de la logique métier et permet des choix d'implémentation d'interface utilisateur plus flexibles. Le choix entre eux dépend des exigences du projet concernant la personnalisation de l'interface utilisateur, la complexité et la stratégie de partage du code.

Citations:
[1] https://visualstudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx
[2] https://github.com/rogerwcpt/xamarin-mvvvm-frameworks
[3] https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-xamarin-formes-version
[4] https://stackoverflow.com/questions/38450264/xamarin-forms-vs-xamarin-mvvmcross
[5] https://leaware.com/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework/
[6] https://canbilgin.wordpress.com/tag/mvvmcross/
[7] https://www.mvvmcross.com/documentation/getting-started/getting-started
[8] https://www.reddit.com/r/csharp/comments/a9mph1/mvc_or_mvvm_for_xamarin/
[9] https://canbilgin.wordpress.com/2017/03/26/xamarin-formes-application-with-mvvmcross/
[10] https://www.suneco.nl/blogs/boost-your-xamarin-native-projects-with-mvvmcross/