Tweets by @Actipro
Please take some time to learn more about us and our product offerings.
As I’m sure you are all aware, last week’s PDC 2010 conference set off a firestorm of tweets and news articles talking about how Silverlight is dead. We read these articles and scratched our heads, thinking that this goes against everything Microsoft has been preaching the last couple years. So what gives?
In this post, we’re going to straighten things out and will:
Read on to learn the future of WPF, Silverlight, and HTML5. The quick summary is, they are definitely NOT dead.
The firestorm of claims that Silverlight is dead started for two reasons: The lack of presence of Silverlight at PDC, and an interview with a key Microsoft officer.
At this year’s PDC, Silverlight was very noticeably absent. For a technology that Microsoft has been pushed extremely hard the past couple years with multiple major releases per year, where was it? There were no sessions on Silverlight 5 and barely a mention of Silverlight in the kick-off keynote speech. Instead, the keynote focused on HTML5.
Nearly everyone attending PDC or watching remotely was expecting a strong showing for Silverlight at the PDC, but they got next to nothing. Side note, all of us watching remotely were using a Silverlight application to view the sessions! :)
The second trigger for all of this was the interview Mary Jo Foley from ZDNet did with Bob Muglia, Microsoft President in charge of the server and tools business, that was published the day after the PDC keynote. The important portion of this article is included below:
“Silverlight is our development platform for Windows Phone,” he said. Silverlight also has some “sweet spots” in media and line-of-business applications, he said. But when it comes to touting Silverlight as Microsoft’s vehicle for delivering a cross-platform runtime, “our strategy has shifted,” Muglia told me. Silverlight will continue to be a cross-platform solution, working on a variety of operating system/browser platforms, going forward, he said. “But HTML is the only true cross platform solution for everything, including (Apple’s) iOS platform,” Muglia said.
“Silverlight is our development platform for Windows Phone,” he said. Silverlight also has some “sweet spots” in media and line-of-business applications, he said.
But when it comes to touting Silverlight as Microsoft’s vehicle for delivering a cross-platform runtime, “our strategy has shifted,” Muglia told me.
Silverlight will continue to be a cross-platform solution, working on a variety of operating system/browser platforms, going forward, he said. “But HTML is the only true cross platform solution for everything, including (Apple’s) iOS platform,” Muglia said.
Add these two things together and it’s rather easy to see how everyone perceived this as Microsoft effectively saying that Silverlight will be used on WinPhone and in certain scenarios on the web for delivering media. Articles were posted all over the web claiming that Microsoft killed Silverlight.
Bob Muglia posted an enlightening response on the Silverlight team blog a couple days later, recognizing the controversy that came about from PDC and the interview. In the blog post he emphasized these three points:
Silverlight is very important and strategic to Microsoft. We’re working hard on the next release of Silverlight, and it will continue to be cross-browser and cross-platform, and run on Windows and Mac. Silverlight is a core application development platform for Windows, and it’s the development platform for Windows Phone.
The rest of his post talks about Microsoft’s updated strategy for when to use Silverlight. We’ll get into this more below.
We’ve also been in direct contact with various program managers at Microsoft to learn what their take on all this is. The replies we’ve received have been directly in line with what Bob explained in his follow-up.
Specifically they all indicated that Microsoft is firmly committed to the future of Silverlight and are actively working on the next Silverlight and WPF versions.
Silverlight has never been meant to replace HTML. It has been designed to co-exist and work with HTML, and to make development of robust cross-platform client apps and advanced media delivery easy.
WPF is such a well-designed framework for building user interfaces. While it certainly has a bit of a learning curve for those who have only worked in older frameworks like WinForms, once you get past that and “get it”, it’s easy to see the power and flexibility you have with styles, templates, data binding, animation, commands, custom control creation, etc. The list goes on and on. XAML complements the framework by allowing complex user interfaces to be expressed in a clean XML format. Other than at the root Window and popup levels, everything is completely implemented in managed code. Compare this to WinForms where a good chunk of the WinForms framework is wrappers around Win32. I can’t count how many customers have told us they absolutely love WPF after getting past the initial learning hurdles.
WPF is now on at least two-thirds of today’s Windows PCs. Microsoft has invested heavily in WPF and has moved many of its key applications to be built on it: Visual Studio, the Expression suite, Web Matrix, and more are coming soon. Obviously they wouldn’t do this if they didn’t believe WPF was the future of Windows desktop development. The benefit to all us developers is that by Microsoft actually using the platform for these large key apps, they run into WPF’s various shortcomings and are forced to address them.
For instance, Visual Studio 2010 triggered the long awaited WPF4 text rendering/clarity improvements that should have been there early in the WPF dev cycle, and used to be the number one complaint/turn-off about the platform. I know that we’ve received numerous comments in past years about how a developer loved WPF but the text rendering forced them to go back to WinForms or C. VS 2010 got that fixed.
Another thing you may notice in Visual Studio is that there are no more standard MDI windows as an option like there were in previous Visual Studio versions that were not WPF-based. While part of this may be due to time constraints, anyone who’s actually worked on docking windows in WPF like us knows that the core cause is the dreaded “airspace” issue where any interop content (web browser, WinForms controls, ActiveX controls, etc.) will always appear on top of WPF content in the same Window/popup. The interop content can’t be clipped, which is a requirement to support standard MDI. At PDC, Rob Relyea talked about how they are finally addressing that issue for WPF vNext. Rob also talked about other exciting new features coming to WPF vNext.
Publicly, Microsoft does need to do a better job of getting the message out that WPF is their platform of choice for Windows desktop applications. Similar to how Silverlight was missing from most of PDC, WPF has been missing from most of the last several conferences as well. Why they aren’t actively promoting such a great framework is beyond me, but from everything we hear from our talks with Microsoft employees and by how Microsoft itself is shifting to WPF with its apps, it’s clear that their commitment is there. You just need to dig a little to see it.
WPF will be around and supported for a very, very long time to come.
Silverlight is a subset of the WPF platform that focuses on the key ingredients needed to build rich Internet applications, provide advanced media delivery, and is the platform used by the upcoming Windows Phones. Since it is based off of WPF design, it has a similar learning curve to WPF but may be a bit easier to grasp for newbies since there is less “stuff” available to you and thus, less to learn.
As mentioned above, Silverlight was never intended to replace HTML. However it does certain things better than current web technologies can. And it is definitely easier to develop complex applications with advanced user experiences in than using HTML and related technologies. If you are making an immersive cross-browser application and want to harness features like XAML for UI layout, rich drawing and animation capabilities, a full set of extensible controls that easily be styled, some of the best media delivery features available, etc., it’s a no-brainer that Silverlight is a great platform to choose. You’ll end up with a great product that has more functionality and was completed many times faster than coding it in web technologies.
That being said, Silverlight still does have some drawbacks. First, being a subset of WPF, if you come from a WPF background, you can sometimes get extremely frustrated when you come across various missing feature areas that you took for granted in WPF. It’s easier to move from Silverlight to WPF than from WPF to Silverlight. The good news is that Microsoft’s message has been that of convergence with WPF over time. Recent announcements of the portable library project, which allows sharing of code across .NET platforms, further support this.
Second, the debugging experience of Silverlight apps is sometimes horrible, especially when you make a XAML error and get a meaningless error number that gives no information whatsoever on what the cause of the error is. This is something that absolutely needs fixing.
Third, while it does support all the major desktop browsers, Silverlight is not supported on mobile platforms like Android and iOS. This is increasingly important especially as we move more towards more mobile lifestyles with smart phones and tablets.
Even with these drawbacks, Silverlight is firmly being backed by Microsoft as a platform of choice for many development scenarios. It is by no means dead or dying, and there will be a new version of Silverlight coming in 2011. Since the platform is maturing, new versions won’t be coming out as fast as they used to. But that is the nature of software development and is to be expected. It’s a safe bet to use Silverlight for your apps.
HTML5 is the evolution of the web technologies used by modern browsers. New features include advanced audio/video delivery, custom drawing via a canvas, new semantic-oriented tags, and various other features.
These features are still in their infancy and are still being massaged into what will be confirmed as the official standard a few years from now. Browsers have already started adding support for the preliminary specs though, and HTML5 is being driven by all the major players including Microsoft, Google, and Apple. It’s the one place you can find all these companies actually working together.
The most important benefit of HTML is that it is (and new HTML5 features will be) supported everywhere, on all browsers on all computers and devices. The point that Microsoft made publicly at PDC and in the Bob Muglia interview is that you can’t ignore that, you have to embrace it. And that is what Microsoft is finally doing with its IE9 enhancements.
Actipro Software, a leader in the WPF UI control realm, firmly believes in the future of all three of these great technologies.
Our WPF Studio user interface control suite has innovative and unique controls and features you won’t find elsewhere, everything from advanced docking windows and MDI to property grids and gauges. Our acclaimed SyntaxEditor syntax-highlighting code editor control that allows you to easily embed a Visual Studio-like code editor in your apps is available for WPF, Silverlight, and WinForms.
We are focused on continuing to enhance our existing products and to expand our product lines for the WPF and Silverlight platforms moving forward.
To summarize, WPF and Silverlight are here to stay. Microsoft has repeatedly confirmed that it is committed to enhancing both platforms and is building its key apps in WPF. The developer community is shifting towards WPF and Silverlight more and more all the time from older frameworks.
There is plenty room for WPF, Silverlight, and HTML5 in the modern development world to co-exist as each platform has a role. Sure the roles sometimes may overlap in some areas, but this gives you the benefit of being able to choose which platform to use based on your needs. Will you need the more desktop-oriented WPF, the more RIA-oriented Silverlight, or the universally-supported HTML5?
Regardless of which you choose, rest assured that Actipro will be there with you helping to improve your user experience.
Please take some time to learn more about us and our products at:
We’d love to hear your thoughts and comments.
November 3, 2010 at 03:26
The future of WPF, Silverlight, and HTML5 - Are they dead?
You've been kicked (a good thing) - Trackback from DotNetKicks.com
November 3, 2010 at 04:02
Pingback from topsy.com
Twitter Trackbacks for The future of WPF, Silverlight, and HTML5 - Are they dead? [actiprosoftware.com] on Topsy.com
November 3, 2010 at 15:31
very awesome post. I really agree. I hope that people don't respond with fear and abandon silverlight. also with mono and moonlight you may see a subset of silverlight stuff that can be statically compiled down to native emerging on iphone through monotouch, and android etc.
November 5, 2010 at 15:07
Great post, and brings some sanity to the table compared to other posts doing the rounds! Be interesting to know if in your discussions with MS, you got any more information on the 'merging' between WPF and SL?
November 5, 2010 at 17:06
Hi Paul, unfortunately we don't really have any more info on the merging than what is public at this time.
Bill Henning (Actipro)
January 3, 2011 at 02:16
Actipro Blog 2010 Q4 posting summary
Actipro Blog 2010 Q4 posting summary
The Actipro Blog - WPF, Silverlight, and WinForms Development