Which framework will be the easiest to install and use if I'm just learning MVVM. I know WPF but not the MVVM pattern. I'm looking for a project that will have lots of good documentation and tutorials to follow to get the templates set up. I don't want to spend one day installing and trying to get a simple MVVM project running. So far I've found MVVM Lite which looks good and Cinch and WPF Applications Framework (WAF) Can anyone comment on these and tell me which one will be the best to start with if I'm learning the pattern?
-
2possible duplicate of [What framework for MVVM should I use?](http://stackoverflow.com/questions/1409553/what-framework-for-mvvm-should-i-use) – Brad Rem Jul 31 '13 at 23:46
-
10Roll your own to learn how MVVM works (you'll run into pitfalls along the way), then choose a good framework when you understand MVVM. That's my opinion :) – Steve Aug 01 '13 at 00:10
-
agree with @Steve, frameworks don't matter, MVVM doesn't need them - it's a pattern, Create Views, ViewModels, implement your own ICommand; you might consider IoC framework, any will work. If really not up to doing it yourself, get Prism, that will get you started. At this point of my life, I would not recommend Calliburn (unless you're into black magic of configuration and/of naming conventions). – denis morozov Aug 01 '13 at 01:56
1 Answers
For getting started, I would NOT use any kind of external library. In my opinion, your main goal is to learn the basics of the design pattern, not just using some borrowed code.
Take your time to study what MVVM is about, what are its goals, benefits and pitfalls, in its most "pure" form as possible. Thinking about what classes are you building, how they communicate and generally how all that works together is the best way you can really learn the pattern. Introducing third party code may help you going though some problems without realizing what or why something happened, or just adapting your programming style to the way the framework wants for it to work. In my view, understanding why it does actually works is far more important, particularly in the beginning.
Once you've got the basics and have well understood the most common situations, I don't think using libraries is too bad, but then you'll be in a situation where you can objectively evaluate if they do what you want or how they work under the hood.

- 7,290
- 4
- 34
- 59