Dot.Blog

C#, XAML, WinUI, WPF, Android, MAUI, IoT, IA, ChatGPT, Prompt Engineering

Introduction à MvvmCross V3 “Hot Tuna” (WinRT / Android)

[new:30/07/2013]Stuart Lodge a publié la version 3 dite “Hot Tuna” de MvvmCross. De nombreuses innovations sont présentes. Je vous propose une introduction complète en vidéo sur la création d’un projet cross-plateforme WinRT / Android.

MvvmCross ?

MvvmCross n’est pas un framework MVVM “de plus”, il n’est pas comme les autres, il est unique en son genre puisqu’il permet de créer des applications cross-plateformes en suivant le modèle MVVM : WinRT, WPF, Silverlight, mais aussi Windows Phone, Android et iOS. Pour ces deux derniers ils se repose sur Xarmarin (ex monoDroid et monoTouch). Toutes les adresses utiles se trouvent déjà sur Dot.Blog et dans la vidéo ci-dessous…

Hot Tuna

Hot Tuna est la troisième version majeure de MvvmCross, la précédente était appelée vNext. Elle ajoute beaucoup de choses intéressantes comme un fonctionnement par plugin pour les principales fonctions de toutes les plateformes (accès au contact, prendre une photo, géolocalisation, etc) ce qui permet d’écrire un code véritablement portable.

Mais ce n’est pas tout, Hot Tuna intègre un conteneur d’IoC servant à l’injection de dépendances, mais aussi un support du databinding pour iOS et Android ! Dans vNext ce support passait par une syntaxe JSON, désormais c’est le “swiss binding”, une syntaxe épurée encore plus simple que celle de XAML mais tout aussi puissante.

Cross-plateforme

Comme j’ai déjà pu le dire dans ces colonnes, le cross-plateforme se présente habituellement comme l’idée qui consiste à pouvoir déployer le même code à l’identique sur plusieurs plateformes. Si c’est une des possibilités du cross-plateforme ce n’est pas celle qui a le plus d’avenir.

L’avenir est cross-plateforme mais dans un autre sens, dans celui d’entités qu’on appellera toujours “applications” mais qui seront en réalité “éclatées” en plusieurs modules : certains tournant sur PC, d’autres sur smartphone ou tablette etc. Et chaque form factor sera utilisé pour ce qu’il sait bien faire et ne fera donc pas forcément tourner le même code identique.

Mais qu’on parle de l’un ou de l’autre, le cross-plateforme est une aventure…

Sauf si on utilise les bons outils. Avec Visual Studio et C# d’un côté et Xamarin et MvvmCross de l’autre, un développeur peut contrôler toutes les plateformes existantes qui comptent sur le marché !

C’est incroyable et cette solution séduit de plus en plus de monde, et pour cause !

Une vidéo pour comprendre

Réservez-vous 45 minutes. Et suivez cette vidéo que je viens de mettre en ligne. En temps réel je développe devant vous une solution cross-plateforme (certes simple) qui fonctionne sur WinRT et Android.

MvvmCross est à l’honneur mais on y verra aussi Xamarin 2.0 à l’ouvrage, Visual Studio, l’émulateur WinRT, l’émulateur Android et quelques astuces à connaitre.

Prenez ces 45 minutes, vous verrez que cela permet de comprendre l’essentiel de l’avantage de ce “montage”.

C’est une vidéo “sur le pouce”, utilisant Hot Tuna dont je venais de faire le tour des nouveautés, ça pourrait aller plus vite, mais cela n’aurait pas permis pour le spectateur de reproduire tout. Là vous pouvez suivre la vidéo sur un écran, quitte à faire des pauses, et faire la même chose sous VS à côté pour expérimenter par vous-mêmes, car c’est le but recherché. Tout est montré, pas à pas.

L’adresse directe sur Youtube en cas de problème avec la vidéo intégrée ci-dessus : http://youtu.be/JFn3RPKQTpw

Et un bonus pour les lecteurs de Dot.Blog, les sources du projet :

MvvmCross v3 "Hot Tuna" Introduction Source

Conclusion

Les vacances c’est fait pour se préparer physiquement, nerveusement et mentalement à la rentrée. La rentrée sera cross-plateforme, formez-vous maintenant avec Dot.Blog et n’hésitez pas non plus à faire appel à mes services si vous avez des projets en vue ! (je ne vis pas des 50 euros que me rapporte tous les 6 mois la petite pub Microsoft en haut à gauche, et non ! Sourire).

Stay Tuned !

blog comments powered by Disqus