Cela dépend vraiment de ce que vous essayez de réaliser, de l'infrastructure que vous voulez déjà mettre en place et de la facilité avec laquelle vous pouvez trouver des échantillons qui vous aident. Je vais déclarer un intérêt ici, parce que j'ai été activement impliqué dans au moins un framework MVVM, et j'ai contribué à d'autres à travers le groupe WPF Disciples, donc je suis un peu partial. Ceci étant dit, voici ce que j'en pense :
Microsofts Boîte à outils MVVM - ce projet est encore en phase alpha. Lors de sa sortie initiale, il a été quelque peu critiqué par les Disciples en raison de ce qu'il ne faisait pas. Cela dit, MS cherche à étoffer ce framework, qui est donc à surveiller - il n'est tout simplement pas encore prêt.
Fondation MVVM - ah la version du cadre de Josh Smith. Josh est l'un des pères de MVVM, et a été un grand défenseur et professeur de ce modèle. Par conséquent, une grande partie de ce que vous trouverez dans les autres frameworks porte les empreintes de Josh. Ce framework a pour but de fournir les bases de MVVM, et non d'aborder certaines questions plus ésotériques. À l'origine, il était destiné uniquement à WPF, mais des personnes telles que Laurent Bugnion et moi-même avons ajouté des fonctionnalités/projets qui signifient que ce framework sera également compatible avec Silverlight.
WAF - Je n'ai pas d'expérience en la matière, donc je ne peux pas faire de commentaires à ce sujet, j'en ai peur.
MVVM Light - La version de Laurent Bugnion, qui vient d'être mise à jour en version 2. C'est un très bon framework, mais encore une fois, il n'est pas destiné à couvrir tous les aspects des applications MVVM. Compte tenu de l'expérience de Laurent, il offre un support très solide pour Silverlight et Blendability.
Mise à jour Laurent vient de m'informer que les versions .NET 3.5 et .NET 4.0 sont compatibles. Wau à aller Laurent.
Cinch - L'excellent framework MVVM de Sacha Barber pour WPF uniquement. Il couvre plus de terrain que les frameworks dont j'ai parlé ci-dessus. Il s'agit d'un excellent framework, qui tire parti des concepts abordés dans l'excellent ouvrage de Bill Kempf, intitulé Onyx projet. Onyx est destiné à compléter les cadres MVVM, et ajoute des fonctionnalités qui sont généralement difficiles à réaliser en MVVM/WPF. Encore une fois, initialement prévu pour être uniquement WPF, Onyx a progressé pour inclure la compatibilité SL - un travail auquel je suis particulièrement fier d'avoir participé.
Prisme - Encore une fois, je ne l'ai jamais utilisé, mais j'ai entendu beaucoup de bonnes choses à son sujet.
Océan - Karl Shifflett, responsable de programme au sein de l'équipe Cider, a récemment publié un framework MVVM WPF complet. Encore une fois, il s'agit d'un excellent framework qui a beaucoup à offrir.
En résumé, téléchargez les différents cadres, examinez-les et déterminez celui qui correspond le plus intuitivement à votre façon de penser et à vos besoins. Si vous pensez vouloir prendre en charge Silverlight à partir de la même base de code, les frameworks WPF uniquement sont à écarter.
14 votes
+1 - Bonne question, mais veuillez préciser "mieux". Les différents frameworks offrent différents avantages, le meilleur dépend de vos besoins. J'attends avec impatience les réponses :)
0 votes
Eh bien, ce serait très bien que vous puissiez l'utiliser avec WPF et Silverlight, et avec une courbe d'apprentissage minimale.
2 votes
Vous pourriez aussi vouloir vérifier Caliburn. codeplex.com/caliburn
0 votes
Désolé, Kent. Comment ai-je pu oublier Caliburn ?
0 votes
Serait-il juste de dire que le WPF Application Framework (WAF) est une version allégée du bloc Composite Application Guidance (Prism) ?
0 votes
Oui, on peut dire ça :)
0 votes
Je vois que c'est fermé et vieux, mais il n'y a pas le cadre que j'ai utilisé récemment. github.com/reactiveui/ReactiveUI
2 votes
Proche et vieux mais... J'ai réalisé mon premier projet en utilisant Prism (réponse ci-dessous) car j'avais besoin d'un support pour les composants. Mon dernier projet, je l'ai fait de manière brute - pas de framework du tout. Tout ce dont vous avez besoin est une classe de commande et vous pouvez faire MVVM sans framework - c'est à peu près aussi léger que vous pouvez l'être.
0 votes
Vous devez préciser votre objectif de développement pour clarifier la question. Si vous avez l'intention de développer des applications Windows, je pense que vous pouvez opter pour WPF. Je suis un développeur qui utilise le framework WPF avec l'architecture MVVM pour créer des applications Windows.