Over a million developers have joined DZone.

Windows Phone to Windows 8 - Part 2

DZone 's Guide to

Windows Phone to Windows 8 - Part 2

· Mobile Zone ·
Free Resource

You can read the first part to this series here: Windows Phone to Windows 8

Those of you who know me know I’ve dedicated the last 9 years to developing on and evangelizing .NET. Of those 9 years, 6 have been dedicated to WPF / Silverlight and the last 2 have been laser focused on Windows Phone. So when my manager asked if I was interested in expanding my skills to Windows 8 and helping other Windows Phone developers do the same, I jumped at the chance.

This post is the first in a series that will continue to evolve as I make the transition. So you know what to expect over the coming weeks, here are my primary goals:

First, I want to avoid replicating any content that already exists. I might summarize a topic and add my own thoughts or tips, but I think it’s far better for me to link to official materials than try to maintain new content of my own. In fact the definitive source for information on this topic (and the place I started myself) is the article Migrate/port a Windows Phone 7 app to Metro style on MSDN.

Next, I want Windows Phone developers to be able to help each other. This series is about my own experience learning and applying the official guidance. I might have missed something or you may know a better way, and if so, please feel free to share in the comments.

I’m only going to talk about what’s currently available, which today is the Consumer Preview. Since I don’t work on the Windows 8 team I can’t really talk or guess about anything coming down the pipe. If you’re interested in the ongoing development of Windows 8 (and I know I sure am) tune into the Building Windows 8 blog and the Windows 8 App Developer blog.

My focus will be on migrating Windows Phone apps to managed Metro apps (C# and WinRT). By now you’ve probably heard that you can develop Windows 8 apps using JavaScript and HTML 5 too. I think that’s awesome, and if you want to learn more you can get started with this article.

Although I’ve spent a huge amount of time in my career on user experience and design, the Windows Design Guidelines for Metro are still evolving. I really think it’s best to let that team answer design questions, so I’ll be focusing almost entirely on framework and code.


Here are some of the articles I’m currently planning for the series:

  • User Interface – New and Different Controls, Porting UI, Form Factors
  • View States using Visual State Manager – Sample for handling Portrait and Snapped views using VSM
  • Application Framework – WinRT, Components, Asynchronous Code
  • Missing or Different – APIs, Notification, Tile, Isolated Storage
  • New Features – Timed Trial, In-App Purchase, Cloud Sync
  • System Integration – System Dialogs, Settings Pane, Permissions, Contracts
  • Localization – Supporting multiple languages
  • Media and Games – Local Folders, Background Audio, DirectX + XAML


The list may change over time but you can bookmark this page and the topics will become hyperlinks as I write them.

Are you building an app?

If so I’d like to hear about it. In fact, I’m one of only a few dozen field folks who can nominate your app for review and possibly early entry into marketplace. The quality bar is very high and ultimately the choice is up to the marketplace team, but at least I might be able to help you get noticed. If you’d like to talk more please contact me.

Official Resources

Finally, no amount of my wild rambling will replace the depth and quality of content already provided by the product teams. Be sure to check out and bookmark these amazing resources below:

Windows 8 Consumer Preview
Visual Studio 11 Beta
Additional Tools for Building Metro Style Apps
U.S. Windows Camps
Windows Developer Center
Windows Design Guidance for Metro
Building Windows 8 Blog
Windows 8 App Developer Blog
Windows Store Blog
Springboard Series for Windows 8


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}