Cider Part2: building a WPF app using Cider and Expression Blend..

In my earlier post I walked through my favorite Cider beta2 features. 

You might have noticed that I focused on 'developer' features like laying out controls, wiring up events, and XAML editing. I skipped other 'designer' tasks (like styling, templating, animation, etc.) that you would need to create a stunning app .   
The reason I skipped them is because the features required for these tasks  are not in Cider v1;  you can definitely implement all of these tasks by just typing XAML in the XAML editor, but that is not the highly productive RAD approach you get out of Expression Blend,  so my reccomendation is that you use Blend for this. 

Here is what I consider the sweet spots for each tool (based on my experience, this is not the official opinions from either team ):

  • Cider:   Layout,  Hooking Events and code-behind, XAML editing,  Debugging,  Deployment, version control integration from IDE.
     
  • Expression Blend: Layout, templating ( both controls and data ),  Animations, Triggers, basic 3D Viewport manipulation ( camera, rotations, etc.), basic vector/path drawing (arguably better done in Expression Graphic design), and wysiwyg transformations..

So, to build an amazing wpf app with out compromising productivity and maximizing ease of you, you will have to use both tools..  If your immediate reaction was "argh, two tools!" I  reacted that way at first, but having done it for last few weeks, I got a little bit less irritated...  here are some of my personal takes/experiences/predictions  around this subject:

  • There is no hidden agenda behind current state;  this is simply the result of "only so much time, must prioritize features " .. rest assured all our teams are looking to provide best integration and as many features as possible across each tool... so you should expect the 'sweet spots' for each tool will grow and the tools willl overlap more and more in future releases.  
  • On more overlap, we should acknowledge that it is nice and definitely a goal to keep the tools optimized for roles; VS2008 will continue to optimize for developers, and Blend will continue to optimize and target designers.  
  •  Another thing to highlight is that the teams have done all the leg work for seamless integration: they share projects, they share solutions, they share xaml files,  they share as much design-time extensibility as possible given they shipped at different times, etc.
  • A non-technical argument is cost; this is out of my realm so no roadmap there but I do know that:
    • Expression Blend is included in MSDN so a large number of developers will get it for free ( if you are a developer who does not subscribe to MSDN you should look into that, it can likely save you $$).  
    • If you are a designer, then you should know there are free versions of Visual Studio (called Express) that you can use to complement Blend ( e.g. for debugging).

I am clearly not in marketing so likely a better way to show you the seamless integration between the tools is to walk through a brief screencast as I did in part 1.  Here is a 10 min screencast showing (briefly, not in full) how you can change a few templates and triggers in  the 'bare browser' we created in part 1.