Microsoft Jumps On HTML5 Bandwagon, Leaves Developers Behind

Most of the fuss regarding Windows 8 to-date has focused on its support for ARM processors and the new GUI that's supposed to offer a finger-friendly alternative to the nearly unusable Windows 7 Touch Edition. The company's latest statements, however, have developers seeing red. According to Microsoft Vice President Julie Larson-Green, the company's future development plans are "based on HTML5 and JavaScript."

No more .NET. So long, Silverlight. WPF is SOL. VisualStudio, long Microsoft's flagship developer product, will presumedly continue to exist in some form, though the tools for JavaScript and HTML5 development aren't nearly as polished or capable as what's available for the now-unfavored platforms.

According to Ars Technica's Peter Bright: "Such a switch means discarding two decades of knowledge and expertise of Windows development—and countless hours spent learning Microsoft's latest-and-greatest technology—and perhaps just as importantly, it means discarding rich, capable frameworks and the powerful, enormously popular Visual Studio development environment, in favor of a far more primitive, rudimentary system with substantially inferior tools."

The shift is partially due to the success of the 'mobile web' (where MS has a very limited footprint) and the advent of IE9. With the arrival of IE9, MS has a new cross-platform framework for development. As it happens, it's a very fast framework--HTML5 is optimized for speed in ways previous platforms weren't.

On the other hand, HTML5 is everyone's ace card. It's a potential replacement for Flash video, it allows for additional functionality (think Google Voice) and it's the buzzword everyone tosses around these days. As i-programmer's Mike James has written, "The problem is that Microsoft for some reason seems to think that the future is the HTML5/JavaScript app....the app not based on HTML5/JavaScript. Apple's iOS is based on Objective C and a class library.  Android is based on Java and a class library. Windows Phone 7 is based on C# and a class library. HTML5/JavaScript apps account for a very small proportion of apps running on anything.

If Windows 8 adopts an HTML5/JavaScript app infrastructure there wont be a lot of apps ready for it to run."

Microsoft's response to mounting developer questions has been to council everyone to wait for the BUILD conference in September. It's said nothing further about its plans for .NET, Silverlight, or WPF and hasn't offered any reassurance that devs working in these frameworks will have a development path going forward.

It seems logical to assume that Microsoft is taking this route because it wants to be able to develop true cross-platform products that scale from smartphones to large-scale deployments. While this may simplify software ports and app development, it does so by tossing out decades of work that came before.

Bold, sweeping changes almost always have significant unforseen consequences. Microsoft isn't going to sabotage backwards compatibility--we expect backwards compatibility for Windows 8 will at least be on par with Windows 7. Similarly, new apps written using 'old' methods will undoubtedly be the norm for several years in the future.

The migration will undoubtedly be gradual, but that doesn't mean it's going to be easy. At least some developers are going to be stuck with the disagreeable task of porting current apps to Windows 8 (and WP7) using 'old' methods while simultaneously working on HTML5/JavaScript implementations that won't be half so easy to program. Simplicity is a fine thing, but MS may well be throwing the baby out with the bathwater.