It seems every couple of months we get barrage of mixed messages about livelihood of platform we all make living from and its that time of year again. This time what set off the wrath of community was unveiling of Windows 8 Metro UI touch centric interface and statement that it was built using HTML5 and JavaScript. There was no mention of WPF or Silverlight or .NET… Understandably lot of people are up in the arms.

I have no first hand knowledge of what the plans are for Windows 8, but here are my thoughts based on what we know today. Windows 8 will as every single version of Windows still run GDI based apps. They call it Classic mode, but there will be no dropping of that mode any time soon. That means that all apps that are running today will run tomorrow on Windows 8. Best bet for those apps in my opinion is still WinForms and not WPF or Silverlight. Why? GDI is closest to the Windows platform since it works directly with Windows messages and drawing canvas and those are not going away due to must have “feature” to continue to support millions of apps already developed for Windows. And I bet we will find the way to integrated those with the metro tiles…

Why new User Interface technology is needed?

We know that there will be no investment to further speed optimize WPF (I can’t find link with that statement right now, but when I do I will add it). And since Windows 8 will run on ARM processors so you can have those long run-time tablets, that rules out the WPF. And it rules out Silverlight to some extent unless serious performance optimizations are done. Why? Silverlight is for example slow running on say MacBook Air, in fact so slow that it cannot be used for anything serious. It is not snappy enough when running on netbooks as well. I bring those up since that is about performance of ARM processors running tablets today.

So for Windows 8 to run well on low powered tablets new UI technology is needed. We know that Internet Explorer 9 and 10 uses hardware accelerated rendering  that is snappy and fast enough so it is no surprise that first demos of Windows 8 touch based input shell are written using this combination. However, I do believe that HTML/JavaScript are simply not as productive as .NET stack which is evident to anyone who tried both. Additionally, you can’t really write apps like Visual Studio in HTML/JavaScript. It would be madness. This HTML/JavaScript combo for UI shell is nothing new, Palm WebOS did this already, its not bad but nothing spectacular…

What is new UI tech?

I don’t know, but it has to be hardware accelerated so it uses the graphics chip to render all of the UI. It is possible that they resurrect Visual C++ to target platform natively and it is possible that they start compiling .NET CLR directly to native instruction set, but I think this is unlikely since there is ARM and Intel processor architecture and you’d need two compiled versions of native code to target both.

My bet is on the .NET based stack possibly compiled directly to native code with new UI layer that is heavily hardware accelerated. We will know in couple of months whether these predictions hold true.

What do you think?


Professional looking applications made easy with DotNetBar for WinForms, Silverlight and WPF User Interface components. Click here to find out more.