Page 2 of 3
It's only a couple of years back that Silverlight was a main focus for DevWeek. Now Silverlight seems to be dead - and the fact that there isn't a single session on it this year seems proof of this. How upset does this make you as someone who was at the vanguard as far as Silverlight was concerned?
Not in the least.
In fact, I think that it is fairer to say that Silverlight hasn't really died: it has evolved from its initial chrysalis state to become the butterfly that is a XAML-based, Metro-styled application on Windows 8 and Windows Phone 7.
It's true to say that some developers feel that their investment in Silverlight might have been wasted, but that's primarily because they want to see continuous enhancement to the desktop product. This simply doesn't make sense. If it did, we'd still be using some variant of Lotus 1-2-3 on DOS for our spreadsheet work, and no-one is complaining about the demise of that!
With Silverlight 5, Microsoft has developed the platform to a point where you can be highly productive and deliver a range of interesting applications. As long as Microsoft continues to support the Silverlight community with critical bug patches, then I don't believe that anyone can consider Silverlight dead. It just is what it is: a rich, .NET inspired plug-in for delivering rich user experiences within (and without) the browser.
In broader terms, one can consider the "death" of Silverlight to have been triggered by its own success. With Silverlight, Microsoft made it possible for .NET developers to produce the sort of richer user-experience application that had previously been restricted to Adobe Flash. The success of both of these plug-in technologies has, inevitably, pushed the HTML and CSS communities to the point that we see HTML 5 and CSS 3, along with much better performance and capabilities in the browsers themselves. It is therefore natural that as the browsers (and HTML and CSS) have caught up with the plug-ins, both Flash and Silverlight were bound to struggle.
There is, of course, a further aspect to this story. In a world where mobile computing has exploded, with platforms where plug-ins in general, and Silverlight and Flash in particular, were never likely to be supported, then the future of Silverlight as it was first developed was always likely to be somewhat bleak.
Does Silverlight have an "afterlife" with Windows Phone - or will Windows Phone 8 be Metro-based?
DW: I have never really considered (and I realise that I might be in a minority of one here!) that Windows Phone 7 development was really Silverlight. To me, there were two very distinct Silverlight products: "desktop" Silverlight, which was what the majority of developers thought about when they were talking Silverlight, and Windows Phone 7 Silverlight.
The key thing to remember here is that you couldn't run a "desktop" Silverlight application on Windows Phone 7; you had to build a specific Windows Phone 7 application. Sure, you could share code across the two, and that's a fantastic story. But there are so many fundamental differences between a desktop application, driven primarily through keyboard and mouse and on a large display, and a mobile application that is mainly driven through touch and on a far smaller form-factor, that it was absolutely critical for developers to separate the platforms in their minds.
What was so compelling about Silverlight, and what continues to be compelling today, is that developers can build great applications using their .NET skills, XAML and C# or Visual Basic, across Windows XP/Vista/7, Windows Phone 7 and Windows 8, either using Silverlight, WPF or the new Metro-styled applications. And that is a fantastic story for developers, and more importantly, the wider enterprise and business community.
DevWeek 2012 has sessions on the .NET technologies of WF/WCF and WPF 4.5. What does the future hold for this trilogy that was so central if you turn the clock back?
DW: When I first started Windows programming, it would take half a day or so of mind numbingly boring C code to get a basic Window on screen; with .NET that is something that I can do trivially in a couple of seconds. If I wanted to write some networking code, then I was probably going to have to start with a low-level sockets library. Now I have WCF, along with the whole of the rest of the .NET Framework, and not forgetting Visual Studio 2010/2011, to help me get up and running very quickly.
What this actually means, of course, is that business developers can be productive in areas where the business need them to be productive - tackling business problems - not fighting with low-level technical noise.
So these high-level frameworks are going to continue to appeal to business developers the world over, and I don't believe that Microsoft are going to leave that huge customer base stranded! Therefore, I predict a solid future for .NET, at least in the medium term. It should also not be forgotten that .NET is some ten years old, which makes it a mature and well-understood platform.
However, there is a broader church of developers, including those writing games, or device drivers, or embedded applications, or casual social-networking applications, for whom WF, WCF and WPF perhaps have little interest. So I wouldn't be surprised if, over the coming years, there are times when .NET receives less focus than at others, or as it has in the past.
And I would also hope that Microsoft (and others) continue to innovate, and in the future that innovation might mean that we do less work in .NET: after all, it's pretty rare to develop a business application in C and Win32 these days, so it's reasonable to assume that maybe in ten years or so we'll have something even better than .NET to develop on.