[ Windows 8 and Windows Phone 8 logos are trademarks of Microsoft ]
Windows Phone 8 is the second generation of the Windows Phone mobile operating system by Microsoft, officially announced the release to manufacture on 29th OCT 2012. Previous Windows Phone versions were all based on old CE kernel and with Windows Phone 8 – Microsoft made sure to shift the focus to a better kernel which can handle multi-core processing capabilities. That why Microsoft has choose Windows NT based kernel as the base kernel for Windows Phone 8.
Windows 8 and Windows Phone 8 are sharing same core level technology(from kernel to networking and driver support, all of that will be common on Windows 8 and Windows Phone 8), Microsoft calls it ‘Shared Core’. Windows Phone 8 will include more features aimed at the enterprise market, such as device management, BitLocker encryption (which is already included part of Windows 8), to facilitate all these common features – that is where ‘Shared Core’ comes in to picture.
If you would like to know further about Shared Core – suggest going through Joe Belfiore’s video
Having a Shared Core will save lots of development time – if we are targeting for both the platforms (Windows 8 and Windows Phone 8), that is where Microsoft has done the magic. Microsoft has made sure that development will be lot easier if you can leverage the same code base for both Windows and Windows Phone 8, with minor changes. This is really a good move as a Unified platform.
Developing Applications for Windows Phone 8 and Windows 8
Windows Phone 8 and Windows 8 share the same .NET Framework engine.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.
Now we will try to familiarize with common API’s on both platform which can save our time while developing applications targeting both.
Following part’s of this article is prepared based on the Original MSDN Source – Windows Phone 8 and Windows 8 platform comparison
1. Common Native API’s
As a Windows Phone developer now you can develop Games in C++ using new Windows 8 aligned Direct3D application model.
The set of native APIs that are common to Windows Phone 8 and Windows 8 are listed below:
- DirectX 11.1
2. Common Windows Runtime API’s
Windows Runtime is a technology first introduced in Windows 8 and which offers a core infrastructure, a common type system, and a standard programming model.
- A subset of Windows Runtime is built natively into Windows Phone 8, with the functionality exposed to all supported languages.
- This gives you the ability to use the same API for common tasks such as networking, working with sensors, processing location data, and implementing in-app purchase.
- By using common Windows Runtime API in your app, you increase the potential to share code between your Windows Phone 8 and Windows Store apps to save time and improve the maintainability of your apps over time.
[Source – msdn]
The following list is the Windows Runtime APIs that are common to both platforms:
- DataSaver/Connection Manager
- Online Identity
- Launchers & Choosers
- In-App Purchase
- Base Types/ Windows.Foundation
3. Similar UI Controls
Between Windows Phone 8 and Windows 8 XAML controls you will see lots of similarities. Same control name, class name etc – this makes the use of same code and controls on both the platforms. Developers will be familiar with both the platforms, and do not have to spend much time in porting from one to another.
- 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.
You may read further about it on: XAML controls comparison between Windows Phone 8 and Windows 8.
4. Shared Engine
Windows 8 and Windows Phone 8 shares the same .NET Framework engine. 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 .NET API for Windows Phone.
- Separate UI and app logic using the Model-View-ViewModel pattern
- Share functionality using Portable Class Libraries
- Share code with Add as Link
- Share using Windows Runtime Components
- Sharing XAML UI
- Conditional compilation with preprocessor directives
Learn about Windows Store app development
Learn about Developing apps for Windows Phone