July 07, 2011 11:00 AM
DevProConnections Jonathan Goodyear
50 Ways to Leave Your Standard: Silverlight vs. HTML5 and JavaScript
Why Microsoft will gradually let go of Silverlight for HTML5 and JavaScriptDevProConnections Jonathan Goodyear
InstantDoc ID #139722
The Microsoft developer community has been all aflutter since Microsoft showed a shorsuperiort demo of the new Windows 8 shell. It looks as if Windows 8 will feature small applets that behave much like Live Tiles on Windows Phone 7 do, as well as larger, full-screen applications that have a Metro look and feel. The "problem," though, is that the development languages mentioned in connection with these new application types are HTML5 and JavaScript. The obvious dearth of information about how Silverlight and WPF fit into the equation has led many developers to curse Microsoft for crossing over to some mythical "dark side." Microsoft hasn't done a very good job of clearing the air, so it's anybody's guess what their intentions or motivations are. What is indisputable, though, is that the world is becoming more mobile, and HTML5 and JavaScript (warts and all) are the standards that natural selection has chosen for that new world.
Let's back up a bit. Software standards are a funny thing. It is considered safe to follow standards, and ample advice exists about the perils of going "against the grain," "against the herd," or "against the tide." And yet, somebody creates those standards, right? How does that happen, and by whom? I should start by mentioning that standards are not always associated with an official standards body. There are times when an individual company creates a solution that fills a need well enough that it achieves a form of ubiquity: a de facto standard. Some of these software standards are so widely used and accepted that many developers forget they are not in the public domain and are (in fact) owned and controlled by a private entity. A few examples are Adobe's Portable Document Format (PDF, which has since been moved into the public domain as an ISO standard) and CompuServe's Graphics Interchange Format (GIF, the patent for which has subsequently expired).
Microsoft has attempted to create a few standards as well. For instance, the XML format used to store word processing, spreadsheet, and other productivity application documents (e.g., Microsoft Office document formats) has become a standard. Even though other productivity software packages have their own native document formats, almost all of them both import and export Microsoft document formats. Microsoft tried to leverage the ubiquity of Office to create a competing printable document format called XML Paper Specification (XPS) to replace PDF format. Even though XPS is superior to PDF on almost every technical level, it failed to attain mass appeal. Many didn't want Microsoft to control the printable document format, so it was a tough sell.
Microsoft saw another opportunity to create a software standard in the Rich Internet Application (RIA) space where options were few at the time, outside of Adobe's Flash (then pretty much the standard for anything beyond basic web browsing). So Microsoft created Silverlight as a cross-platform media-streaming and RIA application framework. It was (and is, in my opinion) the best RIA application framework. So, it met the first hurdle of solving a common problem. Unfortunately, it failed the ubiquity test. It became well established on every platform where it was allowed, but Apple wasn't caught sleeping. Apple locked both Microsoft's Silverlight and Adobe's Flash out of the iOS platform and instead backed HTML5 and JavaScript. The iOS platform has since grown so huge that Microsoft now knows that Silverlight will never reach its intended target of mobile ubiquity. Flash has hung on and gained some traction on the Android mobile platform, but it will likely face a similar fate.
So, now it becomes clearer why Microsoft is being more furtive and lukewarm in its promotion of Silverlight. I don't think Silverlight is going away any time soon, as it has a strong following as a tool for building mobile line-of-business and streaming media applications. However, it will not be a software standard, and Microsoft needs Windows 8 to play with the standards that the world has chosen (namely, HTML5 and JavaScript).
Yes, the tools for building HTML5 and JavaScript applications aren't that good right now. No, the sky isn't falling. Whatever direction Microsoft goes in regard to development platforms for Windows 8, they will produce the best development tools in the world to build on them. This has always been the case.
No comments:
Post a Comment