This article surveys various approaches in porting an application for use in the Windows Store and Windows Phone platforms.

The Windows Phone 8 and Windows 8 – building together article identifies some benefits of this approach.

You can plan in advance to ensure that the programming technologies that you use are compatible in the desired target platforms.

While each target programming platform supports several programming technologies, you should choose a programming technology that is common to all your target platforms. For best results:

  • Choose C#/XAML or VB/XAML for conventional XAML app development.
  • Choose DirectX if you are developing a new game app, or porting an existing DirectX app.
  • Choose WebBrowser/JavaScript if your app runs inside the WebBrowser control via InvokeScript (for example, this is the mechanism used by PhoneGap).
  • Choose XNA if you already have an XNA app.  The XNA platform is supported by Microsoft as a Windows Phone 7 app.  A Windows Phone 7 app can be installed in a Windows Phone 7 or 8 device. In general, for porting an XNA app to other platforms, you can investigate third party software. For example, MonoGame is an open source implementation of the Microsoft XNA 4.x Framework that supports implementation to various platforms including Windows Store and Windows Phone 8.

Following the above guidance will help avoid situations making it difficult to port your application.  For example, the Windows Store app platform supports C++/XAML and Native JavaScript/HTML programming technologies, but neither of those technologies are supported on Windows Phone 8. Therefore if you wish to develop such an app to run on Windows Phone 8, you won’t be able to port the source code, and hence for Windows Phone 8 the application will need to be rewritten.

Please download the document attached to this blog, as it addresses these scenarios in much greater detail and provides many additional links.

Hope this helps!

Follow the Windows Store Developer Solutions team on Twitter @wsdevsol