Microsoft Confirms App Compatibility in Windows Phone 8

While technology enthusiasts are still wondering whether the next major Windows Phone version will be based on Windows 8 or the existing Windows Phone codebase, Microsoft this week did provide an answer to one important question: The company revealed that existing Windows Phone apps will indeed run on Windows Phone 8.

"Any app built today will run on next major Windows Phone version," Microsoft's Brandon Watson wrote on Twitter in response to a rumor from the usual Russian blogger suspects.

Watson, however, also added that Microsoft was "pretty clear about this" fact in its MIX'11 keynote address. I've scoured the keynote transcript but can't find that reference, so it must have been subtle indeed. But it seems unlikely that Microsoft would have even mentioned a Q4 2012 deliverable in a speech from April 2011, given that it was promoting its late 2011 release, codenamed Mango, at that time.

Regardless, Watson's note about current apps running on Windows Phone is indeed news. What it doesn't actually prove, one way or the other, is that Windows Phone 8 is (or is not) based on Windows 8, since such a system could potentially run legacy Windows Phone 7.x in an emulation layer or via virtualization. 

Perhaps we'll find out more about Windows Phone 8, codenamed Apollo, this coming month at Mobile World Congress. But I can guarantee that Microsoft will be talking up the next minor Windows Phone update, codenamed Tango, at that show.


Discuss this Article 6

Waethorn
on Jan 30, 2012
Paul, there's a lot of talk that C++ support may be coming to Tango, which would lend credence to Mary Jo's info that C++ is going to become the preferred dev language for games on Windows 8 and Windows Phone in favour of XNA. If that's true, then it sounds like the backend stuff in Apollo is going to be relatively boring and Microsoft may be accelerating development to make Windows Phone features on par with Windows sooner.
pthurrott
on Jan 30, 2012
All I can tell you is that I've not personally heard about this. It seems far-fetched to me, however, that Microsoft would abandon a managed code language like C# for an inferior, early-generation OOP language like C++. Them adding support for this language is one thing. I find it hard to believe that this will be the new preferred dev language in any capacity though. Just my opinion, of course.
Waethorn
on Jan 30, 2012
The reason is supposedly for "native" (not really, but closer) access to the hardware in place of DirectX. This is in response to developers wanting better access to 3D and audio hardware, and sometimes using alternative API's like OpenGL/AL/CL which supposedly offer this already (they don't, but that's the opinion by some developers). Also, remember that ARM hardware is more compatible with OpenGL ES than Direct3D. Although it would require a re-compile, native C++ support would offer more optimized performance for each platform. C# is easier to code and offers better cross-platform compatibility, but has big performance tradeoffs that game developers aren't willing to accept. This is why there aren't any games that run on .Net CLR.
mog0
on Jan 31, 2012
There would be no need for any emulation layer or virtualisation as all win phone apps are essentially compiled into a subset of .NET, which is designed from the ground up to be platform independent. You just need a runtime which executes the bytecode (Common Intermediate Language or CIL in the case of .NET). The fact that this bytecode is running on an 32-bit arm CPU with a Windows CE kernal or even an Intel i7 with Windows 7 should be totally transparent to the app. How the "Special" apps written with microsoft's blessing in native code will cope is the only question.
jodyfanning
on Jan 31, 2012
As far as I know much of the built-in WP7 apps are already native. Not that switching the kernel makes much of a difference to MS. But there are also third-party native apps as well and those would be affected. For the most part though I think that supporting an implementation of the current runtime on the Win8 kernel wouldn't be impossible. And as for C++ I guess that they could always expose WinRT as a development platform going forward along with the current .NET subset. But I think it is extremely unlikely that Win32 would make the jump.
covox
on Jan 31, 2012
It's obvious that apps developed with the managed code stack would port forward to WP8; indeed, that's probably why they decided on non-native development. The last thing Microsoft would want is new developers nailing themselves to raw bleeding WinCE, and have that code rendered useless by a change of OS fundamentals down the line. While there's certainly going to be a lot of happy mobile game developers if C++ is greenlighted for Tango (y'know, that scorned few who don't like rewriting their entire cross-platform codebase in C#), there'd still be a speedbump of porting from standard OpenGL ES to XNA/Direct3D Mobile, which some might argue as self-imposed NIH from Microsoft. Myself I'd go for a mix of NIH and greater cross-platform control, nevertheless it is a barrier for poaching ordinary game developers from iOS and Android. Most of the big names you see on the Windows Phone store are Xbox-branded titles who have presumably inked out an incentives deal. Fun fact: if you disassemble the WP7 version of Sonic 4, you will find... an elaborate OpenGL ES 1.1 to XNA abstraction layer. I have no idea what kind of black magic they used to port over the rest of the iOS version.

Please or Register to post comments.

IT/Dev Connections

Las Vegas
September 30th - October 4th

Paul ThurottYou'll have the opportunity to experience:
• 120 Technical
Sessions
• Networking with Peers
• Expert Speakers


Come See Paul Thurrott & Mary Jo Foley in Person!

Register Now

Office 365 InfoCenter

Get the latest insight and info from Paul

Read Now!

What I Use