Porting apps to Windows 8 Metro


I’ve talked to many developers who are excited about Metro app development, but say that the hardest part is coming up with an app idea.  Some folks want to walk through converting an existing app to Metro as a learning exercise.  There are other folks who have very successful websites or apps that they would like to make available on Windows 8 too. 

There are a lot of useful resources out there on porting existing applications to Metro apps that will run beautifully on Windows 8:

Design-focused articles

Porting a website

  • Migrating a web app to Metro app – this short article is focused on development and conversion of a front-end web app to a Metro app using HTML/JavaScript
  • Migrating a website to Metro app – this short article is focused on development and discusses some back-end considerations like communication, streaming, security, client package deployment, data sharing, and syndication

Porting existing XAML apps (WPF, Silverlight, and Windows Phone apps)

Leave a comment if you find other useful resources on transitioning to Metro. 

To get started with Metro development, you will need to download the Windows 8 Consumer Preview and the Visual Studio 11 Beta for Windows 8. For more information on early access to the Windows Store, read this.
Comments (20)

  1. GameDev101 says:

    Any XNA porting resources yet?

  2. XNA says:

    All my apps are either pure XNA or XNA/Silverlight hybrids. They run beautifully on WindowsPhone. Unless there is some managed way to do 3D I'm probably not going to bother to port them to Win8.

  3. R Potter says:

    Take a look at SharpDX.

  4. mehran says:

    hot and genius

    unbelievable !!

  5. Mike Diack says:

    What about guides for porting NON METRO apps to desktop Windows? In spite of what Microsoft are telling us, in the real world, the desktop is king. We want to get the best out of the kernel and new APIs for desktop apps – please inform us of that.

  6. Behzad says:

    thanks and what about porting windows desktop softs for wp 8?

  7. porting WP7/XAML to Win8/Javascript is nonsense says:

    Unless one plans to eventually migrate to other platforms, porting WP7/XAML to Win8/Javascript is nonsense. Why not port to Win8/XAML instead which should be (if it's not, MS better make it so)way easier and let you maintain a single codebase?

  8. About XNA :

    Is your app a game that relies on Microsoft XNA components for graphics rendering? If so, you cannot use XNA with a Windows 8 application. You also cannot effectively use DirectX with managed code; you must develop the DirectX game with C++. For more info, see Creating a DirectX game.

  9. Steve Williams says:

    About XNA, take a look at MonoGame (http://monogame.codeplex.com).  It is already capable of taking your your existing XNA code and data and making a Metro app.  Some works still needs to be done (it is a work-in-progress) but it is definitely a viable option.

  10. Steve Williams says:

    For Windows 8 desktop applications, you will need Visual Studio Professional or higher (Express will only create Metro apps), but apart from that the development model stays pretty much the same as it did for Windows 7.

  11. jennmar says:

    @GameDev101 – I will update with XNA porting resources as they become available.  I definitely agree that this would be useful.

    @XNA – Regarding a managed way to do 3D: I haven't tested this myself, but my colleague David Catuhe (blogs.msdn.com/eternalcoding) has been able to use DirectX with XAML/C# without using C++ (his solution was based on SharpDX).  

    @Mike Diack – check out msdn.microsoft.com/…/desktop for the new Windows 8 desktop APIs.  

    @Behzad – I'm sorry; I can't say anything about Windows Phone 8 yet.  

    @Steve 'Sly' Williams – Great comments.  To further expand on what he's saying, in Visual Studio 11 there will be multiple Express editions – one for Windows 8 Metro dev, one for Web dev, one for Windows Phone dev, etc.  Visual Basic 2010 Express, Visual C++ 2010 Express, and Visual C# 2010 Express will also remain available for free download.  See http://www.microsoft.com/…/express for more info.

  12. Very nice collection jennmar! Thanks!

  13. Michael hansen says:

    can you not all see this is doomed when it come to game developerment

    •Is your app a game that relies on Microsoft XNA components for graphics rendering? If so, you cannot use XNA with a Windows 8 application. You also cannot effectively use DirectX with managed code; you must develop the DirectX game with C++. For more info, see Creating a DirectX game.

    link read on

    msdn.microsoft.com/…/hh465136.aspx

    NO MANAGED CODE IS ALLOW FOR SCRIPTING OF AN DIRECTX GAME

    BUT WE CAN USE LUA SCRIPT

    STUPID

  14. Steve Williams says:

    @Michael hansen: That is taking something way out of context.  You cannot use Microsoft's XNA for a Metro game, but you can definitely use managed code (C#, VB) and the SharpDX library to use DirectX in a managed Metro app.  It has already been done.  The MSDN documentation you linked to has it wrong.  SharpDX is a very effective solution.

    @jennmar: What are the chances of the misleading MSDN documentation re: "cannot effectively use DirectX with managed code" being rectified?  Microsoft's own talks at GDC2012 even recommended using a library such as SharpDX for developers who wanted to use managed code for DirectX apps.

  15. farmington says:

    I will look into SharperDX. At first blush it looks like I will still have to rewrite all my XNA games to work with SharperDX. I have several games and some are quite complex so I expect it will take years to get through them all.

    Seems like they could have avoided this whole problem my allowing XNA games to run as metro apps (at least the WP7 flavor of XNA). I guess we'll have to see how this plays out. If developer adoption is as slow as it has been for WindowsPhone I bet that we'll see MS make some concessions to get the existing catalog of WP7, XNA and Silverlight OOB apps running as metro apps.

  16. Dave Voyles says:

    My first question was going to be bout XNA as well, but I see you beat me to it.

    I was going to suggest those alternatives as well, but I wasn't sure if Microsoft had developer a path for us to port directly from XNA to Win8/Metro without having to go open source (MonoGame) or C++.

  17. jennmar says:

    One of my teammates did a blog post series on using MonoGame for XNA apps on Windows 8.  This might help the XNA folks port:

    Part 1, Overview: blogs.msdn.com/…/windows-8-xna-and-monogame-part-1-overview.aspx

    Part 2, Getting Started: blogs.msdn.com/…/windows-8-xna-and-monogame-part-2-getting-started.aspx

    Part 3, Code Migration and Windows 8 Feature Support: blogs.msdn.com/…/windows-8-xna-and-monogame-part-3-code-migration-and-windows-8-feature-support.aspx

  18. Alonso says:

    Since you're reading this article I thought you may be interested in learning about a new porting service by Bsquare (client).

    The service adapts existing iOS, Android and legacy Windows apps for Microsoft’s new PC and mobile operating systems faster and better to speed delivery and reduce costs.

    If you're not familiar with Windows Phone 8 framework it could take an average iOS or Android developer team months to learn the tools, libraries and structures to begin porting apps.

    Because Microsoft is spending more than $1 billion launching Windows 8, this is probably the biggest porting opportunity in the history of the industry for applications that can get in front of that wave to generate the most attention and visibility.

    If you're interested in learning more about this service and get a FREE quote here is the link http://ow.ly/ftkEY

    Hope you find this comment helpful and let me know if you have any questions.

  19. Charles Bryan says:

    Thanks ! Exactly what I was looking for

  20. Visitor says:

    I heard there is a tool from Intel that can convert Android source code to HTML5 application.  Not sure whether this is also useful for porting to Metro.