Quel framework MVVM est le meilleur framework pour les applications WPF [fermé]

Je suis un débutant avec WPF. Avant de développer un projet de taille moyenne et grande sur WPF, je dois travailler avec Open source/Free MVVM framework pour WPF, alors dites-moi quel framwork MVVM serait le bon choix pour les applications WPF avec l'aide de laquelle je peux développer une interface utilisateur très attrayante pour les applications d'entreprise, et qui est livré avec un bon tutoriel et beaucoup d'exemples de code pour se familiariser avec le flux du framework. Veuillez en discuter en détail. Grâce.

48
demandé sur Josh Caswell 2011-02-21 21:32:17

3 réponses

Cette question est vraiment difficile de répondre objectivement, parce que ce qui est le mieux pour vous dépend beaucoup de vos besoins et préférences. J'ai moi-même utilisé deux cadres, donc ce sont ceux dont je peux parler.

L'un des frameworks MVVM les plus populaires est MVVM Light Toolkit , qui est un framework polyvalent qui vous permet de construire des applications comme vous le souhaitez. Il fournit de l'aide pour contourner certains des principaux points de douleur dans la construction d'applications MVVM, mais il vous oblige toujours à écrire beaucoup de code standard vous-même. Cela pourrait être bon pour un nouveau développeur WPF, car il ne cache pas une grande partie de L'infrastructure WPF.

Mon préféré est Caliburn.Micro , qui est un framework MVVM opiniâtre pour WPF, Silverlight et Windows Phone 7. Il utilise une approche de sur-Configuration de convention, ce qui vous évite d'écrire beaucoup de code de plomberie ennuyeux et fastidieux. Cela signifie également qu'il vous oblige à être d'accord avec l' opinion de framework-si vous ne suivez pas les conventions qu'il prescrit, vous allez mener une bataille difficile pour que tout fonctionne.

Caliburn.Micro a aussi la qualité de juste travailler , et si vous ne comprenez pas vraiment ce qui se passe sous le capot, les choses peuvent sembler un peu magiques. C'est génial, tant que les choses fonctionnent. Mais quand ils ne le font pas, ou que vous devez faire quelque chose que le framework n'est pas conçu pour faire, vous aurez besoin d'une compréhension assez solide de WPF pour trouver vos roulements.

Vous devez évaluer les fonctionnalités des différents frameworks et boîtes à outils et décider par vous-même.

61
répondu jevakallio 2014-10-13 18:19:27

Il existe de nombreux frameworks MVVM open source populaires.

Probablement les trois plus populaires seraient MVVM Light, Caliburn , ou Prism (qui, à partir de v4, prend en charge et fournit des exemples de MVVM). Tous les trois ont des forces et des faiblesses, et tous sont bons.

Prism a l'avantage d'être un produit "Microsoft" (sponsorisé), tel qu'il est publié par le groupe Microsoft Patterns and Practices. Cela a tendance à aider l'adoption dans de nombreux grands entreprise. Cela étant dit, il est également beaucoup plus grand et plus compliqué que les autres options populaires, d'autant plus que son objectif n'est pas seulement d'être un "Framework MVVM", mais plutôt une bibliothèque à usage général pour le développement d'applications composites.


Je suis débutant pour WPF.

J'ai aussi pensé que je mentionnerais-avant de choisir un framework, je passerais du temps à essayer d'apprendre et de comprendre MVVM. J'ai écrit une série pour aider transition vers WPF avec MVVM de Windows Forms qui peut être de valeur.

Souvent, il est difficile de choisir un cadre jusqu'à ce que vous compreniez ce qu'il accomplit vraiment. La plupart de MVVM peut être fait, très facilement, sans cadre que ce soit. Les "frameworks" ajoutent des utilitaires qui rendent certains points douloureux du développement de MVVM plus faciles à gérer - par exemple, MVVM Light a une grande classe Messenger qui aide à la communication entre ViewModels, ce qui peut parfois être difficile. Caliburn a d'excellents outils pour vous aider programme designability, etc. Cependant, jusqu'à ce que vous compreniez les bases, le choix d'une boîte à outils peut réellement rendre votre vie plus compliquée, pas plus simple.

91
répondu Reed Copsey 2011-02-21 18:56:51

Peut-être que pour avoir le goût de MVVM, vous n'avez pas besoin d'utiliser de bibliothèques? Il est facile d'implémenter des choses de base (DelegateCommand et class pour déclencher des notifications de propriété - est tout ce dont vous avez besoin), mais cela vous aidera à comprendre MVVM sans introduire de bibliothèque. Vous rencontrerez probablement des obstacles lors de cette implémentation et vous devrez le résoudre vous-même, sans aucune bibliothèque tierce. Je crois que cela peut vous aider à élaborer une vision plus claire sur le modèle MVVM (bien sûr, si vous aurez une bonne orientation) mais sans introduire de détails fournis par les bibliothèques.

Peut-être que je suis un peu un inventeur de roue, mais je n'utilise toujours aucune bibliothèque MVVM. Je ne vois tout simplement pas ce qu'ils peuvent fournir pour introduire une autre bibliothèque dans le projet. Il ne faut généralement pas beaucoup pour implémenter les éléments de base dont vous avez besoin pour MVVM, mais à la fin, vous recevez un code hautement flexible (car tout le code est à vous).

26
répondu Snowbear 2011-02-21 18:43:24