29 votes

Qui MVVM cadre est le meilleur cadre pour des applications WPF

Je suis un débutant avec WPF. Avant de développer de moyenne et grande taille du projet sur WPF, j'ai besoin de travailler avec l'open source/libre MVVM cadre pour WPF, alors merci de me dire qui MVVM framwork serait le bon choix pour des applications WPF avec l'aide de qui je peux développer très attractif de l'INTERFACE utilisateur pour les applications de l'entreprise, et qui vient avec un bon tutoriel et de nombreux exemples de code pour se familiariser avec l'écoulement du cadre. Veuillez en discuter en détail. Merci.

61voto

Reed Copsey Points 315315

Il y a beaucoup de open source les plus populaires MVVM cadres.

Sans doute les trois plus populaires serait MVVM Light, Caliburn, ou Prisme (qui, en tant que 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 n'ont l'avantage d'être un "Microsoft" (sponsorisé) produit, comme il est mis par Microsoft Modèles et des Pratiques de groupe. Cela tend à aider à l'adoption dans de nombreuses grandes entreprises. Cela étant dit, il est également beaucoup plus grand et plus compliqué que les autres options populaires, d'autant que son objectif n'est pas seulement d'être un "Framework MVVM", mais plutôt d'un usage général de la bibliothèque pour le développement d'applications composites.


Je suis débutant en WPF.

J'ai aussi pensé que je le mentionne - avant de vous choisir un cadre, je voudrais passer un peu de temps de vraiment essayer d'apprendre et de comprendre MVVM. J'ai écrit une série pour aider à la transition vers WPF avec MVVM des Formulaires Windows qui peuvent être de valeur.

Souvent, son difficile de choisir un cadre jusqu'à ce que vous comprenez ce que c'est vraiment accomplir. La plupart de MVVM peut être fait très facilement, sans cadre que ce soit. Les "cadres" ajouter des utilitaires qui font que certains points de la douleur de MVVM développement plus facile à manipuler - par exemple, MVVM Light a un grand Messager de la classe qui permet la communication entre les ViewModels, ce qui peut être difficile à certains moments. Caliburn a quelques excellents outils pour aider avec le programme designability, etc. Cependant, jusqu'à ce que vous comprenez les bases, le choix d'une trousse d'outils peut réellement faire de votre vie plus compliquée, pas plus.

40voto

jevakallio Points 15003

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

L'un des plus populaires MVVM cadres est MVVM Light Toolkit, qui est un appareil polyvalent cadre qui vous permet de construire des applications de la façon dont vous le souhaitez. Il fournit de l'aide à obtenir autour de quelques-uns des principaux points de la douleur dans la construction d'applications MVVM, mais encore, elle vous oblige à écrire beaucoup de code réutilisable vous-même. Cela pourrait être bon pour un nouveau développeur WPF, parce qu'il ne s'en cache pas loin de la WPF infrastructure.

Mon favori personnel est Caliburn.Micro, qui est un opiniâtre MVVM cadre pour WPF, Silverlight et Windows Phone 7. Il utilise une convention sur l'approche de configuration, ce qui vous permet d'économiser de l'écriture d'un lot de l'ennuyeux, fastidieux code de plomberie. Cela signifie également qu'il vous oblige à être d'accord avec le cadre d'opinion si vous ne suivez pas les conventions qu'il prescrit, vous serez livrer une bataille difficile à faire fonctionner le tout.

Caliburn.Micro a aussi la qualité de travail, et si vous ne comprenez pas vraiment ce qui se passe sous le capot, les choses peuvent sembler un peu magique. C'est grand, aussi longtemps que les choses fonctionnent. Mais quand ils ne sont pas, ou vous avez besoin de faire quelque chose que le cadre n'est pas conçu pour ce faire, vous aurez besoin d'une assez bonne compréhension de WPF à trouver vos repères.

Vous avez besoin pour évaluer les caractéristiques de différents cadres et des trousses d'outils et de décider par vous-même.

15voto

Snowbear Points 10826

Peut-être afin d'obtenir le goût de MVVM vous n'avez pas besoin d'utiliser toutes les bibliothèques? Il est facile à mettre en œuvre des trucs de base (DelegateCommand et de la classe de soulever des notifications de propriété - est tout ce dont vous avez besoin), mais cela vous aidera à comprendre MVVM sans introduire de la bibliothèque. Probablement, vous allez rencontrer des obstacles au cours de cette mise en œuvre, et vous aurez à résoudre sur votre propre, sans aucune bibliothèques tierces. Je crois que cela peut vous aider à élaborer une vision claire sur le pattern MVVM (bien sûr, si vous avez une bonne orientation), mais sans introduire de détails fournis par les bibliothèques.

Peut-être que je suis une roue inventeur un peu, mais je continue de ne pas utiliser de MVVM bibliothèques. Je ne vois pas tout ce qu'ils peuvent fournir afin d'introduire encore une autre bibliothèque dans le projet. Il ne prend généralement pas beaucoup à mettre en œuvre des trucs de base dont vous avez besoin pour MVVM mais à la fin vous recevez très flexible code (car tout le code est le vôtre).

1voto

Dmitry Points 31

Voici un nouveau projet open-source

MVVM Cadre:

https://mvvmframework.codeplex.com

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X