The release of Windows Phone 8 included many features that were new to Windows Phone platform. These new features make developing for the Windows Phone 8 platform compelling for application developers.
1 - Build Windows Phone Applications in Native Code
C++ is now a supported language to build Direct3D Windows Phone applications. However, C++ is not supported for Silverlight based Windows Phone applications. The C++ project templates for Windows Phone are installed as part of Windows Phone 8 SDK.
2 - Direct3D Application Development
Windows Phone 8 supports developing Direct3D based application development on two very popular languages – C# and C++. Direct3D is part of DirectX API and is the basis of the graphics API on Xbox consoles. Direct3D is a 3D API.
3 - Advanced Debugging Support
With Windows Phone 8, you can debug in either managed or native code. Additionally, you can debug applications that are launched from a Tile or push notifications.
4 - Multi-resolution Support in Emulator
The Windows Phone emulator, which is part of Windows Phone 8 SDK, supports 3 different resolutions – WVGA, WXGA and 720p.
WVGA - 480 x 800 with an aspect ratio of 15:9
WXGA – 768 x 1280 with an aspect ratio of 15:9
720p – 720 x 1280 with an aspect ratio of 16:9
5 - Secondary Tiles & Tile Templates
Windows Phone 7 introduced the concept of Tiles. Windows Phone 8 advances the concept with “secondary tiles” where applications that support this feature can allow users to have multiple tiles pinned to the Start screen.
Windows Phone 8 supports three different tile templates – flip, iconic and cycle.
6 - Lock Screen
Windows Phone 8 supports having an application as a lock screen background image provider. Additionally, the lock screen on Windows Phone 8 can be customized and Windows Phone 8 applications can be designed such that they can provide lock screen notifications.
7 - Navigation
With Windows Phone 8, two new URI schemes are available to use with the navigation protocol, which can help application developers write an app that can get driving directions or walking directions.
8 - Speech Support
Windows Phone 8 supports speech integration in applications. An app can integrate in three different ways: voice commands, speech recognition, and text-to-speech (TTS).
9 - Wallet
Windows Phone 8 introduces support for:
- storing coupons, credit cards, etc. in one place,
- making contactless transactions using NFC technology.
10 - Camera Improvements
Windows Phone 8 adds the ability to auto-upload photos to a web-service, and advanced capture APIs. Also, developers can create a camera app called lens, which will appear in the built-in camera app. This is meant to provide extensibility.
11 - New Launchers
Windows Phone 8 supports five new launchers to help perform common tasks - for saving appointments, downloading maps, working with maps, getting directions and sharing media.
12 - VOIP
Windows Phone 8 provides the ability to create VOIP applications to allow users to make audio and video calls over data connections.
13 - Data Sense
Data sense feature allows applications to stay within the limits of the user’s data plan. User can specify limits and data sense can monitor the data usage and can provide the ability to an app to discontinue data usage when the user is over data limit.
14 - In-app Purchases
Windows Phone 8 now supports what the other platforms have supported for some time now – in-app purchases.
15 - Enterprise Application Support
Windows Phone 8 brings to the table the biggest advantage Windows desktop operating systems had for a while – the ability to roll out enterprise applications easily.
In this article, we learned all the new features Windows Phone 8 brings to the mobile platform space. This makes Windows Phone 8 an able platform for mobile application developers to target.
About the Author
Vipul Patel is a Program Manager currently working at Amazon Corporation. He has formerly worked at Microsoft in the Lync team and in the .NET team (in the Base Class libraries and the Debugging and Profiling team). He can be reached at Vipul.firstname.lastname@example.org