New WPF Composite Client offering

Topics: CAB & Smart Client Software Factory
Oct 29, 2007 at 11:09 PM

We just let the “cat out of the bag” on a new set of guidance we’ll be delivering for building Composite Applications in WPF.

What is WPF Composite Client?

This is not a new version of CAB . It is an entirely new set of libraries and guidance, built from the ground up, targeting development of new WPF Composite applications. We'll be working with both the UIFX and WPF teams, the same people who build the platform.

We are not discarding everything that we did in the client space and starting from scratch. We've done a lot of work around patterns such as Modularity (composition), Services, Dependency injection, Event Brokering, etc. These concepts are essential for building Composite applications and we will carry them forward into the new guidance. However, you should expect their manifestations to be very different than what you see today in CAB. We're not changing the APIs for fun. We think there are numerous compelling reasons to do so:

  • CAB was not built to support WPF. While you can get a n application to work in WPF using some flavor of CAB , you can't make use of WPF's full functionality. WPF is an inherently different paradigm than WinForms. For example, RoutedEvents in WPF are entirely different than WinForm Events. Controls in WPF are look-less while in Win Forms controls have a specific look and feel, etc.
  • WPF does not offer the "Drag" and "Drop" Win Forms development experience. CAB development scenarios depend upon the rich tooling and productivity experience provided by Visual Studio. The WPF developer experience is entirely different and incompatible. We feel that customers will not succeed in mechanically migrating their existing WinForms applications to WPF and should not try. There are no upgrade wizards such as the VB6 to VB.NET migration tools. The transition from WinForms to WPF requires substantial effort and most developers face a steep learning curve. For these reasons, the new offering will not focus on migration scenarios.
  • We've learned. Over the years we've received great feedback , positive and negative, on our CAB implementation. We've heard many times that it is too heavy, too complicated, too tightly coupled, too hard to grasp, etc. Acropolis evaluators have provided new insights and suggested new approaches. We think the best way to address the concerns and tackle the new ideas -- perhaps the only way -- is with a clean break.
  • Win Forms is not dead. I've actually had emails from customers saying that Win Forms was being retired this year . This myth must be dispelled. Win Forms is very much alive and there are future investments in Win Forms yet to come. Win Forms is the recommended breadth solution for LOB application development for the foreseeable future.

We’re planning on creating a set of deliverables to be shipped piecemeal rather than just one giant “factory” release. Look for everything to ship before the end of 2008.

You can read more about this at the p&p post here and the Acropolis team post here

Exciting times!