John’s tech discursive

April 23, 2009

Silverlight vs WPF

Filed under: Silverlight — johnd @ 4:35 pm
Tags:

uroboros

Before version 2.0, Silverlight’s differences with WPF seemed quite clear: it was a browser plugin with a retained mode graphics system (similar to WPF), with the UI declaratively created in a restricted subset of XAML, and programmed using a subset of the .NET Framework. It appeared to have been released as a competitor to Flash, or perhaps introduced as a new take on the old Java Applet idea,  allowing developers to craft modules of their UI’s with powerful new WPF tools (e.g. Expression Blend).

It seemed to have its place, and didn’t appear to be the offspring of some grandiose plan intended to allow Microsoft an opportunity of grabbing dominance in web UI development, although there were some early worries that Microsoft would compete unfairly, with some questioning their commitment to keeping the technology cross platform.

Originally the idea of running WPF in the browser seemed interesting — cross platform WPF, but only in a limited sense, and likely to have restrictions on a lot of the things that made WPF so compelling (e.g. 3D graphics); a teaser for developers if you will. But it felt mostly like the familiar march of Microsoft technological improvements of the past, with the usual complaints that normally accompany new releases.

Silverlight 3 looks set to introduce some improvements and features that are going to change the above balance dramatically. Version 2.0 already introduced some surprising features e.g. cross-machine service calls and local machine access, blurring the distincintion between web, and desktop applications somewhat. Versions 3.0 is apparently even set to have out-of-browser capabilities!?

Was Silverlight just a facade around an MS plan to make WPF platform independent, and try and create a universal UI platform? I think not, but one could be forgiven for arriving at that conclusion. Also, how will these new Version 3 features impact WPF? It looks like it’s going to have a serious competitor in the form of an ever improving, platform independent subset of itself, dressed up in a Silverlight guise.

However it plays out, It seems clear that WPF and Silverlight are going to play very big parts in UI development in future, and I think the distinction between web and desktop applications is going to keep getting more blurred until there isn’t much of a distinction left at all.

More important than all of the above though, is what Microsoft have done for developers with all of this. Whether or not Silverlight is technically superior to Flash is, I think, a separate argument. There’s no question that the Visual Studio\WPF\Expression development tools combination is going to be extremely hard for anyone to compete with, and this is one area that Microsoft have excelled at over the last few years. They seem to have gotten it perfectly right this time.

If you’d like to explore this in little more depth, this article is well worth reading.

Here’s a MIX09 video of Silverlight out-of-browser being demonstrated.

Blog at WordPress.com.