views:

56

answers:

2

Preface :

i know, exist several topics talking about MVVM and how it is good (or bad) but my question is a bit different :i want to know if really exist any successful project that uses partially or completely MVVM, all all as a designer viewpoint.

I am starting another project using MVC (web), i have some experience with it and it work fine separating the working layer, i can put a designer working in html (dreamweaver), then a programmer do the "code behind" (visual studio, notepad++..), and lastly, a database guy doing the persistence layer (sqlyog,toad,sql server management studio).

My hypothesis:

But my problem with MVVM (silverlight and wpf) is that i don't find a suitable tools that fix for every role and i think (and my doubt about MVVM) that most of the MVVM works was done entirely by programmers, breaking completely the ideal of separating the layer. In theory, exist only two tools (excluding the database part) :visual studio and expression blend/studio.

My question:

Is Expression Blend (Expression Studio) suitable for designers?, and if happens then, is expression blend/studio + MVVM stuff suitable for designers?. Because, and at first view, i think that expression blend is too complex for most designer but i think that they can barely manage it but, if we added part of the MVVM work to the designer .. is it overkill?.

Plus is the fact that apparently not every project is blend-compatible (is that true?)

ps :i know that exist a lot of smart designers that also can program (for example, designers that can do jquery's stuff) but it is not the ideal because, we want designer that do the "beautify part" and/or cheap than a codemonkey

+2  A: 

Expression Blend is a tool aimed specifically at designers. Also, in a normal workflow, Blend is only responsible for the View part of MVVM, and the designer shouldn't think of anything else. I know it's complex but so is Dreamweaver, for instance, for someone not familiar with it. Like any new technology, it takes a while to develop proficiency.

Yes, the programmers need to be somewhat careful to not break Blend design-time features, and can implement things to make work MUCH easier for the designer (especially Design-time data).

I've worked on some internal projects that used this workflow and the experience was great (as a developer), but YMMV.

Alex Paven
A: 

You are right somehow, mvvm has less of "separation" than a web programming. For example, a designer have to wait until a programmer didn't make architecture of viewmodels and views.

So there is two ways:

  1. The programmer creates a prototype of the interface, the designer paints it.
  2. The designer draws the interface, the programmer tries to adapt it to the model.

In asp.net second way is better. But in mvvm I prefer 1st way. (Because xaml has specific for programmers datatemplates and datatriggers).

not every project is blend-compatible (is that true?)

Yes, even my projects sometimes have incompatible user controls. For example, if you call wcf-service from the class constructor, you will get an error in design-mode.

vorrtex