Windows Presentation Foundation

Blogged under Software by Mark Dalgarno on Thursday 15 November 2007 at 6:07 pm

I organised a talk on Windows Presentation Foundation that took place in Cambridge last night as part of a series of talks for SPA Cambridge.

The speaker was Ian Griffiths, a developer and co-author of books such as the topically titled “Programming Windows Presentation Foundation”.

WPF shipped in Vista (but also works on XP) and is the next generation platform for Windows User Interface development.

Why WPF?

Ian cited three reasons:

  • Hardware - The old UI technologies assumed memory was constrained. Resolution and processing power have moved on significantly since Windows 1.
  • Raised expectations - Games consoles and cinema have increased user expectation.
  • Lessons from the web - particularly w.r.t. branding and markup.

XAML 

WPF is intimately tied up with XAML - Extensible Application Markup Language - an XML format for representing trees of .NET objects.

XAML decouples the information necessary to construct a UI from the code that controls that UI. XAML also enables scalability and transformability of UIs - Ian contrasted a WPF button beautifully scaled using the Vista magnifier with a pixellated non-WPF button also magnified.

Using XAML also supports tooling as it facilitates integration between different parts of the tool chain. As an example Ian demonstrated ExpressionBlend a XAML-based toolset aimed at designers and showed how the XAML generated in that tool could be brought into Visual Studio.

The good news

With WPF and XAML there is a lot of flexibility in terms of defining your own layouts, appearances and data binding. Although I don’t do much UI programming these days I could recognise the power of the separation of concerns that has been designed into these technologies. This should help ensure some degree of longevity for WPF - a goal for the WPF designers.

The bad news

However, it’s not all good news. The tooling in VS is pretty basic at this stage according to Ian, but will grow of course. There was also no mention of support for mobile developers - perhaps the whole thing is just too weighty. There was some discussion of Silverlight, the cross-platform browser plug-in for WPF. This has a subset of the WPF rendering engine and a Javascript API but it’s not clear why this should be used instead of other (better) technologies. The next release of Silverlight does look more compelling though according to Ian.

and finally…

If you do get a chance to hear Ian speak then do so - he’s a knowledgeable guy and an accomplished speaker.

The next SPA Cambridge talk will be on December 12th, when Paul Wells will talk about Developing Eclipse Plug-Ins.

Proudly powered by Wordpress - Theme Triplets Identification Band, the girlish style by neuro