Universal apps – Windows app development

Building universal Windows apps for all Windows devices

Universal Diagram

Develop once for all Windows devices using a unified Windows runtime and VS tools that allow you to both support experiences unique to a device in XAML, HTML, and DirectX, and share the code that supports those experiences across all devices using C++, C#, or JavaScript. When your work is finished you can you can produce the app packages that you will submit to the Windows Store and Windows Phone Store with a single action to get your app out to customers on any Windows device.

In terms of the Store experience, customers will benefit from an app identity shared across the Windows Store and the Windows Phone Store. Shared identity means that if they purchase your app from the Windows Store, they are capable of installing it on a device from the Windows Phone Store using the same Microsoft account without having to purchase the app again. Optionally, this can also include things like in-app purchases.

To get you started, the following sections will identify key upgrade paths, migration paths, and other critical resources that will help you bring your ideas to the converged Windows 8.1 platform. For more information on universal Windows apps and context on Microsoft’s vision for developer opportunity on Windows devices, please see our blog post Introducing universal Windows apps.

Getting started with universal Windows apps

Creating a new Visual Studio solution using a universal app template will produce a Visual Studio solution that includes separate projects for design and feature experiences unique to tablet & PC and Phone device, as well as a shared project that promotes the reuse of code relevant to both.

The following topics and samples will demonstrate how to create universal Windows apps using the new templates provided in Visual Studio 2013 Update 2. The MSDN Code Gallery also has a large collection of feature samples that use the new universal Windows app template identified with the ‘universal app’ tag.

Updating your existing apps to universal Windows apps

Updating a Windows Phone 8 app

Updating your Windows Phone 8 app to the Windows Runtime as a universal Windows app includes some serious benefits. For example, you can now use Windows XAML to do entirely new things with UI, implement new notification options that capitalize on the new Windows Phone 8.1 Action Center, or offer new app features to your customers like media editing. Once updated, you can easily share code with a parallel project targeted for Windows tablets & PCs using the shared code tools provided in the Visual Studio Update 2.

From introducing Windows Runtime features new to Windows Phone devices, to adjusting features from previous Windows Phone releases, this update path is more involved than choosing to update to Windows Phone Silverlight 8.1. However, it also means that you will have more opportunities to realize your app outside of Windows Phone and reach new customers on a variety of Windows devices.

Here are some resources that provide feature details and migration guidance that should help you decide if updating your existing Windows Phone 8 app as a universal Windows app is the way to go.

Updating a Windows Store app

The introduction of universal Windows app development is also a big opportunity to bring existing Store app experiences to Windows Phone.. Near-complete feature parity significantly reduces the overhead traditionally incurred during the parallel development of apps for different types of devices. Sharing feature code between app projects allows you to focus on providing a user experience that fits with the targeted device while reducing your parallel workload.

If you already released a Windows Store app, and want to take the opportunity to bring it to other devices, you can now add a Windows Phone project to an existing solution in Visual Studio 2013 and use the shared project that will contain the code that you want to re-use between apps.

The following resources detail the new universal Windows app templates, how to bring an app to another Windows device, and our most popular Code Gallery samples that use the new universal templates and best coding practices. We’ve called these samples out in the Code Gallery using the ‘universal app’ tag.

Using universal Windows app development tools

Visual Studio 2013 Update 2

A number of improvements is included in Visual Studio 2013 Update 2 to support universal Windows app development. Universal Windows app templates make it even easier to reuse code between Windows Store apps and Windows Phone 8.1 apps. New tool updates that support the different upgrade paths that simplify the process of bringing an existing Windows Store or Windows Phone apps to the universal Windows app development environment. New additions to Windows platform diagnostic tools that analyze CPU, UI, Energy and Memory for XAML & HTML apps for both Windows Store & Phone developers.

Windows App Certification Kit

The Windows App Certification Kit has been a testing solution for Windows Store apps from the beginning, and now you can use it to test your Windows Phone 8.1 apps before submission. This tool runs tests on elements of your app like the manifest, declared app capabilities, package integrity, and Windows platform security requirements.

Note: The Windows App Certification Kit doesn’t support Windows Phone 8 apps.