In part 2 of the series, I explained the different target scenarios for Silverlight and Windows Presentation Foundation (WPF).
I think at MIX09, we could have emphasized a bit more strongly our Microsoft Client Continuum. We demonstrated it a lot, but maybe did not take time to explain it, or explicitly call it, so I wonder if every one knows about it externally?
The “Microsoft Client Continuum” is our mission to empower you to create the Best User Experiences across all your customer’s touch points.
Today, you can reach customers on a web application (RIA), on Windows, on Surface, on Mobile devices, etc.
On part 2 of this series, I explained that one single run-time is likely not flexible enough to address the conflicting requirements (size vs. features, or full-trust vs. sandboxed) from all scenarios; if you want to provide the absolutely best experience across multiple touch points, you will likely end up at least compiling the application twice or having small optimizations for each touch point; this is where the Microsoft Client Continuum offers some significant advantages over other solutions.
The client continuum uses .NET as the single skill, single toolset needed to create immersive client applications.
The continuum facilitates great User Experiences with tools that empower both designers and developers; these tools share a common declarative languages to represent UI and interactions.
The continuum thrives on reuse: skills reuse, tools reuse, and code reuse.
At MIX09, on the Silverlight and WPF front, we demonstrated the continuum a lot:
In Scott’s keynote, we showed an application we had used at a previous MIX to show hardware accelerated video and HLSL effects.
We showed it last year for WPF, and this year for Silverlight. The codebase was pretty much the same.
Jeff Wilcox had a session on “Sharing tools, skills and code in Silverlight and WPF”.
Karen Corby’s session on “Building Silverlight controls”, showed the same control she created in Silverlight running on WPF.
Our Expression Blend team, kept saying in all of their sessions, “all of these features work equally well in Silverlight and WPF”
Laurent Bugnion, from IdentityMine had a session called “Working across the .NET continuum”
Today, David Anson blogged how the Silverlight control Toolkit charts controls run fine on WPF.
Earlier today, I posted the same library of HLSL effects we use in WPF running in Silverlight
There were plenty other demonstrations of the continuum in action, and there are plenty more to come. One part that I really enjoyed at MIX was talking to a lot of customers, and partners, who are writing apps that span across the continuum.
For those wondering about the choice between WPF and Silverlight, keep the continuum in mind and rest assured you are not making the wrong decision with either technology.
For developers and designers, learning our continuum technologies is a great investment; you learn XAML and the tools once and you can reuse it across mobile, desktop, RIA, and Surface applications.
For businesses, you can prioritize for what you need today (desktop or RIA) and later on create the appropriate companion. Your skills, tools and code investments are preserved.
A few disclaimers on status today and future for the Continuum:
We are not done with the Continuum. If you want to share code, do plan ahead; be aware of the current platform differences, expect those to decrease quickly but don’t expect them to go away 100%, Silverlight will likely stay a subset of WPF (to keep it small and RIA optimized). MIX09 was a great step in the right direction, there are plenty of new features in SL3 that make the compatibility with WPF higher.
There will be more convergence on both sides. Both WPF and Silverlight will continue to grow and innovate on their scenarios, but on each release, each run-time should also pickup features that the other run-time added. WPF will pick up Silverlight features (like VSM or controls) and Silverlight will continue to add features from WPF.
Closing the series:
I think MIX09 was a great conference! The features and products announced are very exciting. Microsoft demonstrated strong innovation and adoption on the RIA space, and a strong commitment to User Experience and designer tools. Because MIX09 is a web conference, we shared our web message and this likely confused attendees on our commitment for WPF; the reality is that we are equally committed to WPF and Silverlight, because we need both technologies to deliver on our Client Continuum.