Native C++ code coming to Windows Phone developers (eventually)


On Microsoft’s Windows Phone User Voice site developers have been begging, pleading and threatening for the ability to user native code in Windows Phone 7 apps.  It seems Microsoft has decided to listen, but have not yet decided to what degree to grant developers the privilege to access the bare metal of the processor and hardware directly.

Cliff Simpkins Sr Product Manager, Windows Phone Developer has recently posted that “native (C++) is one item that is high on the radar” and asked it this was to “ build on top of third-party engines that use native (e.g., Unity, Unreal, and the many 2D engines out there)”  or  “reuse business logic (e.g., codecs, encryption libraries, etc.) but no need to render UI?”

There have been rising complaints by developers that they can not use popular graphics engines like the Unreal Engine or Unity Game Engine, used in thousands of iOS and Android apps to create very high end games, on Windows Phone 7. By allowing such access Microsoft would make porting such games extremely easy.

Cliff however warned “there is a variety of click-stops in ‘Native support’” and “dev team schedules are finite” so it is likely whatever Microsoft delivers will not satisfy all developers.

Native code has been excluded from 3rd party apps for stability and security reasons, but Microsoft has been using the feature more and more in Second Party apps ie Apps Microsoft codes themselves for 3rd parties, like the Spotify app or the Tango video calling app.

The Tango app however also provides a cautionary tale. The app was not universally compatible with all devices when it was released, and also caused bugs like sound being disables when the app was exited – a problem not possible with managed code. 

Do our readers look forward to this development or do you think it will make our (very stable) phones more buggy and unstable? Let us know below.


Some links in the article may not be viewable as you are using an AdBlocker. Please add us to your whitelist to enable the website to function properly.