Windows Phone 8 and Windows 8 platform comparison
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
The release of Windows Phone 8 is a significant step toward convergence with Windows 8. Here, we compare the Windows Phone 8 and Windows 8 development platforms, and discuss how developers can create apps for both platforms and maximize code reuse.
This topic contains the following sections.
Windows Phone 8 now includes support for building C++ games using our new Windows 8 aligned Direct3D app model. The set of native APIs that are common to Windows Phone 8 and Windows 8 are listed in the following table.
Common native API
For more info about native API support for Windows Phone 8, see the following:
Common Windows Runtime API
Launchers & Choosers
Base Types/ Windows.Foundation
We’ve also added Windows Runtime APIs for the phone to enable more phone scenarios, including APIs for speech synthesis and recognition, and VoIP. The combination of Windows Runtime APIs adopted from Windows 8 and the additional Windows Runtime APIs we’ve added on the phone is called Windows Phone Runtime API. For more info about the Windows Phone Runtime API set, see Windows Phone Runtime API.
In Windows Phone 8, the .NET Compact Framework has been replaced by CoreCLR, which is the same .NET engine used on Windows 8. This delivers stability and high performance to your apps, so they can take advantage of multicore processing and improve battery life. Most new devices are now multicore, and the operating system and apps are expected to be faster because of that technology. Both Windows Phone 8 and CoreCLR take advantage of multiple cores and use modern software technologies and patterns. Other improvements that you can take advantage of in your apps as a result of adopting the CoreCLR include the availability of the async programming model and the improved auto-tuning garbage collector. When you submit your Windows Phone app to the store, it will be compiled in the cloud using an optimizing compiler to produce high-quality ARM code. Your app will be delivered to the user’s phone pre-compiled. This improves start time and saves battery life. You can leverage the same .NET engine in your XAML apps for Windows Phone 8 and Windows 8, and use sharing techniques to maximize code reuse for these apps on both platforms. For more info, see Maximize code reuse between Windows Phone 8 and Windows 8.
Windows Phone 8 and Windows 8 have similar but different design guidelines and building blocks used to create your UI. The core guideline for UI development in Windows Phone 8 and Windows 8 is to design the user experience for your app tailored for each platform. It’s important to make your app look right and be immersive on each device on which it runs to create the best possible experience for your app users.
On Windows Phone 8 you’ll want to create your UI to target the phone form factor, supported screen resolutions, and unique user experiences such as lock screen integration, live Tiles, and the navigation model. Similarly, on Windows 8, your Windows Store app should adhere to Windows 8 user experience best practices, and take advantage of the platform’s support for different app views and navigation controls, and of integration with the device through contracts and the many other features that will enhance your app and make it a success.
You create your UI on both platforms using XAML. Your app will consist of one or more pages, and each page contains a UI created by and customized by UI controls. The set of controls available on Windows Phone 8 is available in the System.Windows.Controls namespace. The set of controls used on Windows 8 is in the Windows.UI.Xaml.Controls namespace. Although these are different namespaces and the types are different, there’s a lot of similarity in the controls that are supported. Most of the controls are named the same and will be familiar to you coming from either platform. This supports design reuse—you can design your app for Windows Phone 8 and Windows 8 with the same UI building blocks in mind. For a comparison of the control sets available on both platforms, see XAML controls comparison between Windows Phone 8 and Windows 8.