With the release of Windows Phone 8.1 last year, we introduced the concept of universal Windows apps. Windows 10 will build on our commitment to provide a common Windows platform with one API layer (WinRT) and consistent UX design surfaces.
For developers creating new apps for Windows today, this universal approach is recommended as it allows you to target both Windows and Windows Phone and to be prepared for Windows 10. For you, we’ve got great documentation (Building universal Windows apps for all Windows devices) and video training (Developing Universal Windows Apps with C# and XAML).
But what about developers who have existing Silverlight-based apps in the Windows Phone Store? The good news is that the process of bringing these to WinRT-based universal apps is fairly straightforward. We think now is the right time to take this step, both to expand your audience and to prepare for Windows 10, and we have some great new content on MSDN to guide you through the process, in a new MSDN section entitled Move from Windows Phone Silverlight to WinRT.
And, new this week on the Inside Windows Platform series, Steve White, one of the writers behind all this great new content, talks about making the move, with some practical tips.
When you visit the new MSDN section, one of the first things you will see is the Namespace and class mappings topic. This topic takes a comprehensive list of the API’s available to Silverlight-based apps and maps each to the API surface available to Windows Runtime apps. It a useful reference to keep by your side during the porting process.
The Porting a Windows Phone Silverlight app to a XAML WinRT app topic describes the porting approach and provides the following specific sections:
- Porting to a Universal App project – step-by-step guidance and tips for maximizing markup and code reuse
- Troubleshooting – provides a table of the kinds of parser and compiler messages that are commonly seen during the porting process and what to do about them
- Porting XAML markup and the UI layer – tips for maximizing reuse of your markup, including prefix declarations, imperative code, animation, binding, controls, media, and graphics
- Porting for input, sensors, and device – focuses on code that integrates with the device and its sensors, including camera, orientation, and device sensors
- Porting business and data layers – covers async methods, background processing, cloud services, monetization, network, notifications, tiles, storage, and more
- Form factors and user experience – design guidance for the range of devices that can run your new universal app
Finally, there is a case study that takes you through the whole process and provides both Silverlight and WinRT (universal) code samples.
- Case study: Bookstore 1. The first in a series (Bookstore 2 and 3 are coming soon) of case studies that take a Windows Phone Silverlight app and port it to Windows Runtime as a Universal app project targeting both Windows and Windows Phone. You can read the step-by-step account of the porting process and download both the Silverlight and the universal app projects.
We hope these resources make the porting process satisfying and efficient.