22 September 2011

If Microsoft are pushing HTML5 for Windows 8 where does this leave Silverlight?

All change for Microsoft developers. Again. The new Visual Studio developer preview shows that Microsoft are serious about promoting HTML5 and JavaScript as a major application development platform for Windows 8.

There has been considerable anguish in the Microsoft development community since Microsoft did their big reveal of the Windows 8 Metro UI in June. This caused some panic around whether or not HTML5 and JavaScript would be the only way of writing Windows 8 applications.

Now that the developer preview for Visual Studio 2011 has been released it’s clear that HTML5 and JavaScript will live alongside existing technologies such as C#, C++, Visual Basic and XAML. However, it’s HTML5 and JavaScript that is getting the big push from Microsoft in the run-up to the release of Windows 8.

Another change for developers

Microsoft have a tendency for changing the course of their development strategy, which can be frustrating for developers. Over the years, developers have had to learn a wide range of different technologies for desktop development including Win32, COM, MFL, ATL, Visual Basic, WinForms, .NET and Silverlight.

More recently, things seemed to have settled down into a strategy based on WPF and .NET for the heavy lifting and Silverlight for more portable or cross-platform applications. Neither of these platforms could be described as perfect, but they did at least provide a coherent vision for software development.

Microsoft’s increasingly aggressive backing of HTML5 over the last year has muddied the waters. The release of Internet Explorer 9 has undermined Silverlight as HTML5 is now being touted as the ideal solution for rich browser-based experiences. Despite claims that the two technologies can co-exist, Microsoft are clearly retreating from positioning Silverlight as an all-weather, multi-screen development platform into something more specialised.

The feature set announced for Silverlight 5 serves to confirm this. The focus on features such as improved digital rights management and data manipulation imply a platform geared more towards B2B applications rather than mainstream consumer experiences.

The end of the line for plug-ins

Windows 8 is being targeted at a far wider range of devices than previous versions and a key tenant of the Metro interface 8 is that it should run “plug-in free”. The rationale is that this will improve battery life whilst reducing the risks around privacy and security that plug-ins have been associated with in the past.

The writing has been on the wall for plug-ins for some time. For example, a wider trend towards plug-in free video delivery has been gathering pace as of late, with Google having recently launched an HTML5 version of YouTube. In this new world of cross-platform development, device diversity and plug-in free operation, it makes absolute sense to plump for HTML5 as your primary interface tool.

HTML5 may be some way off maturing into a universal standard, but one day it will be cross-platform in a way that Silverlight can only dream of. Microsoft did not help Silverlight’s chances by failing to support Linux and doing little to encourage development on Linux and iOS. Apple have further undermined plug-ins by their refusal to support them in a browser and a general reluctance to allow third-party development frameworks.

A new direction for Silverlight

There is concern that Silverlight is being relegated into a side-line role for stand-alone applications, phone apps and filling the gaps in web applications. However, this isn’t such a bad place to be.

Silverlight is central to Windows Phone 7, which represents Microsoft’s only real chance of making money from the mobile phone market. A rich selection of phone apps is still central to a successful phone platform, and Silverlight will remain a priority so long as Windows Phone 7 remains a going concern.

Microsoft’s embracing of HTML5 may turn out to be more of a nail in the coffin for Flash than Silverlight. After all, the holy grail of cross-platform development is more likely to emerge from universally accepted standards than proprietary plug-in software. The days of Silverlight being a potential “flash-killer” or cross-platform tool may be long gone, but it is likely to remain an important part of Microsoft’s toolset for some time.

Filed under C#, UI Development, Web accessibility.