Developing For Metro – WinRT: The Metro API

So far we’ve talked about Metro from the end-user perspective where indeed it is a style and a UI. But Metro isn’t a way to display existing Windows application, it’s what results from a new development model for writing applications. Metro, as the user sees it, is the result of the APIs and design guidelines developers follow in creating Metro applications.

With Windows 8 Microsoft will be introducing a new API: Windows RunTime (WinRT). Over the years much has been said about replacing Microsoft’s long-lived Win32 API, with some success. The .Net Framework supersedes Win32 to some extent, but at the end of the day Win32 is still significantly used in one way or another by many developers. WinRT is the API that will replace Win32 for application developers, and is the API developers will need to use to develop for Metro.

WinRT in a nutshell is a combination of the elements needed to make Metro work, along with subsets of features from Win32, COM, .Net, and HTML5/CSS3. As with pure .Net applications, WinRT applications are meant to be architecture agnostic, and ideally Microsoft would like developers writing applications in runtime or interpreted languages such as C#, VB, HTML5/CSS/JavaScript, and even Silverlight. C and C++ will be able to access Metro too, although there’s still some ambiguity about under which conditions those will be architecture agnostic. In any case WinRT – and thereby Metro – will be accessible from virtually every language Microsoft supports today in their Visual Studio IDE. And regardless of the underlying language, all Metro applications will behave like first-class applications.

With all of this talk about WinRT, Microsoft went through great lengths to reiterate that developers will continue to have access to older APIs for new applications and that Windows 8 will run everything that Windows 7 can run. This is both because traditional/desktop styled applications will not be going away any time soon, and because WinRT as it stands is for user-facing applications, not device drivers, services, or other backend code. In fact desktop applications will be supported indefinitely (look at how long support for 16bit Windows applications has continued to last), but Microsoft clearly wants developers developing for Metro whenever possible, and not for the desktop. For a great many applications this makes sense, but I’m not sure anyone really understands what this means for specialty applications like 3dsMax, Adobe Photoshop, and other workhorses that not only have large legacy codebases, but whose usage model doesn’t easily flow with Metro.

 To entice application developers to use WinRT and Metro, Microsoft will be using a carrot and a stick. The carrot will be the Windows Store, the stick is that non-Metro APIs will not be available for ARM. ARM is Metro-only from day one, and the Windows Store will be the enforcer (more on that later). So if developers wish to target both ARM and x86/x64 users, they will need to develop Metro applications.

Developers working with Metro will be using Microsoft Visual Studio 2011, which like Windows 8 is in development and will be the first version of Visual Studio to support Metro. We won’t spend too much time on Visual Studio, but it will provide development facilities for all of the languages Metro supports, including HTML/CSS/JavaScript. For UI programming Microsoft’s Expression Blend 5 will play a big part, as XAML will be the UI markup language for most of the languages excluding HTML5/CSS.

The hard sell for Microsoft will begin tomorrow when the developers arrive. It’s clear that Microsoft has attempted to structure WinRT to be familiar to existing Windows programmers, but developers are just as sheepish (if not more) than end-users when it comes to change. It will also be the beginning of the process where the development community figures out where desktop applications fit in amongst the new Metro order. Even if Microsoft can sell developers on Metro from day one, there’s still a massive army of legacy machines – everything currently running Windows – that need to be factored in.

Mobile Experience, IE10, Live Cloud, Samsung Developer Preview PC The Windows Store
Comments Locked

235 Comments

View All Comments

  • MGSsancho - Wednesday, September 14, 2011 - link

    If we can not run explorer on out desktops then we will see the return of desktop shells ala lightstep, anston shell etc
  • Adronson - Wednesday, September 14, 2011 - link

    At about 6:20 in the video: "One big thing in Widows 8 is going to be the store."
    That about sums it up. Looks to me like all these active buttons will be there using system resources to get your attention. Little spam generators whose ultimate goal is to keep the user online so that it is easier to spend money.
  • PolarisOrbit - Wednesday, September 14, 2011 - link

    Windows 8 looks like the best tablet OS by a tremendous margin.

    As a desktop OS, it looks terrible.
  • TEAMSWITCHER - Wednesday, September 14, 2011 - link

    That's the problem. Tablet users will likely run ARM processors, and using an ARM processor the METRO GUI will be the only GUI on the system. And you can't run *ANY* existing windows apps, it must be a METRO app. I predict failure!
  • BioTurboNick - Thursday, September 15, 2011 - link

    Is that so different than current Tablet OSes? So you can get high-powered full Windows classic/Metro-capable tablets or a limited Metro-only ARM tablet.
  • versesuvius - Wednesday, September 14, 2011 - link

    On Windows 7, the single click option, just selected a file and executed it at the same time, in the windows explorer file manager. There was no clear space in the file manager windows to click in and set the focus to. It was the same with every other file manager I could find. It then just became useless to me. I reverted back to XP and am quite happy with it. It was the most ridiculous thing about Windows 7. I suppose usability now, three decade after the first PC or Mac is defined a bit differently. People now, know what computers and GUIs are. And most importantly they have a prior understanding of what a GUI should behave like. I hope that they have fixed that in Windows 8, although I am at no rate going to use it before the first service pack is released.
  • piroroadkill - Thursday, September 15, 2011 - link

    I use single click, have done for years, even on XP, but I never noticed this issue. I tend to use middle click to switch focus, especially when doing file operations.
  • saganhill - Wednesday, September 14, 2011 - link

    I love reading everyone’s comments how they hate the new GUI. Its reminiscence of the WinXP release and only now are users abandoning that OS for a new version.

    I have a premonition that all the people who "hate" the new GUI in windows 8 will in 5 years hate to give it up for the new one that MS will release. Very ironic.
  • UMADBRO - Wednesday, September 14, 2011 - link

    All too true. Everytime something gets changed in a newer version of Windows, people piss and moan and act like they are going to pick up the pitchforks and torches and go raze Microsoft for their Blasphomy. Then after it comes out and people actually try it, theyre mostly like "Hey, thats not that bad after all! HERP!"

    I just wish all these complaining jackasses would go and give it a shot before whining and proclaiming their utter hate for it, without having ever tried it out. Wishful thinking, I guess.
  • Shinya - Wednesday, September 14, 2011 - link

    most people have tried it ( like myself) and simply don't like it. i don't like have 20 FAT icons on my "desktop" that eat the entire landscape of my monitor. i want small icons. i want to be able to have 2 or more windows side by side while i multitask. As it stands right now (until other or myself figure it out) you cannot do such things with the Metro UI.

    working in the IT industry it is a must to have web and email side by side LIVE on the screen. not switching back n forth between the two.

    but you're a troll (going just by you name), or a macf*g (in which case go back to engadget) so you wouldn't understand the words 'Computer" and 'Real Work'

Log in

Don't have an account? Sign up now