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
POST A COMMENT

235 Comments

View All Comments

  • martin5000 - Tuesday, September 13, 2011 - link

    "Microsoft would like developers writing applications in runtime or interpreted languages such as C#, VB, HTML5/CSS/JavaScript, and even Silverlight"

    Silverlight is not a language, its essentially just .NET for WP7 (and confusingly for web applications) its language is c#.

    Also, I think the author needs to look up WPF, this technology is already a complete replacement for the old style win32/winforms development. I imagine the new technologies will be related to WPF.
    Reply
  • DEEPAYAN - Tuesday, September 13, 2011 - link

    very original, very ugly. never saw such a bad user .not all people use tablet ms. Reply
  • damianrobertjones - Tuesday, September 13, 2011 - link

    Very easy to use, attractive to the non-techies, nearly everyone will eventually use a tablet. Reply
  • robinthakur - Wednesday, September 14, 2011 - link

    Is it attractive though? It looks like a very festive powerpoint presentation...The main reasons that people stick with Windows, against all odds, is compatibility and familiarity. This blows away the latter. You saw how well they all took to Windows 7 Phone. Besides which, tere is always the danger that companies will skip Windows 8 en masse as they did with Vista, and that will almost force MS to reduce the amount of influence and interaction afforded to Metro in Windows 9/10. Reply
  • iwodo - Tuesday, September 13, 2011 - link

    I like Metro as a concept, or idea. But i have problem with Microsoft's implementation of Metro. It is, very Linux like. Apart from the Color i can tell it is from M$, almost all things else are like KDE / Gnome.

    Ribbon is a mess. Yes it exposes Far more options to the users. Yes it places the statistically most used function on top. Yes it is, may be easier to use.

    But I am sorry. It is ugly.

    I just wish, Microsoft could have a single switch that will make Windows 8 and Office 2010 all in collapsed mode Automatically.
    Reply
  • mabellon - Tuesday, September 13, 2011 - link

    "single switch that will make Windows 8 and Office 2010 all in collapsed mode Automatically."

    This already exists in Windows 7 and Office 2010. It's been around for years. You can minimize the ribbon in two easy ways.

    1) Double click the top of the ribbon
    2) Right click the top of the ribbon, select 'Minimize the Ribbon"

    Hope this helps,
    Mark
    Reply
  • cjb110 - Tuesday, September 13, 2011 - link

    I really don't have anything against Metro, and I think Microsoft have to do something drastic to the Windows UI to make it scale from desktops to tablets. And Metro could be it.

    However my problem is that if its currently half and half (like you mention the other settings loads normal control panel) then I don't think that's an going to be a good UIX, in fact I think it'll be damn jarring and piss people of more than it should.

    The OS, and control thereof needs to be fully Metro'ised, (or at least fit seamlessly in, it doesn't look like Vista/Win7 borders on task manager or explorer really fit).

    Basically if MS don't do that, say for control panel, they are basically admitting Metro isn't a comprehensive enough UI design.

    If MS state at some point, yes Win8 is half and half, and Win9 will complete the transition then fine, its the same place Apple is in with Lion I think (transitioning from an open desktop to a locked device)
    Reply
  • dagamer34 - Tuesday, September 13, 2011 - link

    The Control Panel has a Metro UI (you can see it several times in the demo). In fact, unless you need to open a specific app or do file management, you never have to see the desktop if you don't want to. And with the way apps are setup, I doubt you'll really care where the file is stored, as long as you're able to access it through search and it's backed up safely.

    Will the desktop disappear? No. But for a good chunk of what people use their computers for (e-mail and web surfing), it's not really that important. And getting away from traditional file management will be a BIG step forward to the future.
    Reply
  • faizoff - Tuesday, September 13, 2011 - link

    I can't wait to load the beta release whenever it comes out. Looks very intriguing from just glancing at it.

    Would love to start playing with this OS.
    Reply
  • cjs150 - Tuesday, September 13, 2011 - link

    and not succeeding.

    For a smart phone or tablet I can see the point although looks clunky to me.

    For a desktop just awful.

    The concept of yet more "ribbons" appearing is even worse. MS idea of context (especially in Word) is clearly not related to any work I or anyone I know does. Mind you I still think that Word is a much worse word processor for proper business than Wordperfect 5.1 which is only 20 years old
    Reply

Log in

Don't have an account? Sign up now