Où en est-on du Design Pattern MVVM en WPF ?

Pour réaliser une application WPF sur le modèle MVVM que dois-je faire aujourd'hui en 2019 ? J'en suis resté à quelque chose de pas très fini à mon sens. Chacun a son petit MVVM Design Pattern d'implémenté à sa sauce, je cite pelle mêle, Laurent Bugnion,  Josh Smith (who thanks John Gossman), Prism, Wilfried Woiré et j'ai contribué également à l'époque avec le WPF Prims Toolkit.

http://prismlibrary.github.io
Cette image vient de PRISM
Alors, je reprends les reines et j'espère bien qu'aujourd'hui, si j'instancie une nouvelle Application Desktop WPF avec mon Visual Studio 2017 Community le framework design pattern MVVM est déjà dans mon Template d'application WPF. Non ?

Malheureusement, je replonge dans les affres d'MVVM avec des sites actuels qui m'expliquent ce qu'est le modèle M-V-VM :

C# Corner - MVVM in WPF
Il est gonflé le gars, il te présente le Design Pattern MVVM comme si c'était un truc nouveau le "last update" de son article date de Fev 2018 ! Alors qu'en bas (toujours pareil pour connaitre la vraie date d'un article allez voir les commentaires) les commentaires dates de 2013. On est où ? En 2018 ou en 2013, largué en tous cas ! Bon j'avoue les explications ne sont pas mauvaises, si vous ne connaissez pas MVVM ça peut être bon à prendre.

Pour le reste, je dois retourné avec Laurent Bugion et la chose principale qui a changée depuis lors c'est la disparition du CodePlex snif ! Laurent Bugnion a migré son projet dans GitHub :

GitHub - Laurent Bugnion - mvvmlight
C'est bien parce qu'il existe encore et malgré tout, cela permet de voir que la communauté est vivante. Mais son framwork est orienté portabilité Xamarin.Android, Xamarin.iOS, Xamarin.Forms, WPF. C'est curieux il cite encore Silverlight (O:))

Et à part ça ?

SupInfo - WPF - MVVM : Le Data Binding
Ils sont mignons, aucun code, tout à la mimine, depuis zéro, en Oct. 2015 ! Et bien ils ne sont pas en avance.

Et donc, en continuant mes recherches, je retrouve également Prism et son nouveau site ... avec peut-être en roadmap la version 6.0.


http://prismlibrary.github.io/docs/wpf/legacy/Implementing-MVVM.html
Prism Library - Implementing the MVVM Pattern Using the Prism Library for WPF
Voilà, alors faut-il aller plus loin ? Je pense qu'il me faut commencer par installer un Template. C'est tout en bas de la page :


https://marketplace.visualstudio.com/items?itemName=BrianLagunas.PrismTemplatePack
Prism Template Pack
Ce n'est pas un NuGet mais une extension Visual Studio :

Visual Studio -> Outils -> Extensions et mises à jour ...

Je n'ai pas trouvé si facilement, j'ai du aller dans -> En ligne -> Visual Studio Marketplace -> Modèles -> Visual C# -> WPF et dans la barre de recherche je tape "Prism" :

Extension Visual Studio - Prism
Voilà, je vais tester tout ça te revenir vous dire si on peut faire une Application Desktop WPF efficace avec tout ça.

Il y a un nom a retenir c'est Brian Lagunas qui est le "product owner" de Prism 6.0 qui sortira surement bientôt ;) et qui est totalement "Open Source".

Pour faire fonctionner quelques exemples comme :

GitHub - Brian Lagunas - InfragisticsWebinarSimpleMVVMPrism

L'installation du Prism Template Pack n'a pas suffit. J'ai du exécuter la commande suivante dans la Console du Gestionnaire de package :

PM> Install-Package System.Windows.Interactivity.WPF -Version 2.0.20525

Pour la suite je me permets de noter un autre lien :

GitHub - PrismLibrary / Prism

Have fun!

Aucun commentaire:

Publier un commentaire

Pour plus d'interactivité, n'hésitez pas à laisser votre commentaire.