Whenever new technology comes about, there is an automatic reluctance to spend time looking into it. I think this is probably quite a sensible thing, since you can’t possibly keep up with everything going on at once. When Silverlight came out, I had a brief look at it and thought “oh, it looks like Microsoft are trying to compete with Flash.” I thought it wasn’t really worth worrying about at the time, as Adobe have pretty much got the market cornered as far as browser animation plugins go, and I didn’t think people would really want to bother installing another one.
More recently, I’ve had a bit more of a look at Silverlight, and I’m wondering whether to invest some time learning it. It does seem to be getting a bit more popular. One of the things that I’ve heard (I don’t know whether this is true), is that Silverlight will work off the same XAML documents as WPF, which means that you can create a single XAML file and use it as an interface for both web and Windows.
Granted, I don’t actually use WPF yet either – from what I’ve heard of that, it still needs some work before it is a full replacement for Windows Forms, and I have heard that it can cause speed issues. On the other hand, the idea of being able to create a single user interface which can be used for both web and windows is very appealing.
Let me step back for a minute and explain. XAML (Extensible Application Markup Language) is Microsoft’s XML based language which is used for defining user interface. I think they invented it for WPF (Windows Presentation Foundation), which is supposed to eventually replace Windows Forms. The idea is that you can define a user interface in an XML document (much as you do in HTML), and then it gets rendered.
One of the big issues of course is browser compatibility. Apparently (according to Wikipedia), XAML can be rendered in some browsers (Internet Explorer and Firefox at least) with no plugin, as long as .NET 3.0 is installed on the PC with the browser in. For other browsers, the Silverlight plugin is available to deal with the XAML. On non-Windows platforms, Microsoft have released a plugin called Moonlight to deal with it.
I’d be interested to have comments from what other people’s experiences of Silverlight, XAML and WPF have been like and whether you’d like me to post more about any or all of these subjects.