Now that a number of testers have downloaded a leaked version of the Windows Phone 8 software development kit (SDK), one would think it would be clear whether and how Microsoft is going to allow developers to use the Microsoft XNA framework to build games and content for the next generation of Windows Phones. But conflicting views persist.
Last we heard from anyone from Microsoft in an official capacity, it seemed as though XNA development would continue to be allowed on Windows Phone 8 (even though the not-so-subtle message was that Microsoft is encouraging XNA developers to move to C++/native in the future). In April of this year, Windows Phone Senior Product Manager Cliff Simpkins said "XNA is fully supported in the next major version and remains part of the Windows Phone family."
The leaked Windows Phone 8 SDK documentation, some of which was posted on the MobileTechWorld.com site late last week, made it seem XNA would continue to be supported. An excerpt from that documentation:
"Managed apps are characteristically written with a XAML page or XNA Framework surface as the app interface, and Visual Basic or C# as the coding language. Existing Windows Phone apps that were written using these techniques are fully compatible with Windows Phone 8 Developer Preview. Game developers who prefer to write managed code still have XNA as an option."
Seems like a resounding yes, doesn't it? But according to developers who've read through the full SDK documentation and files said it's not quite that simple.
XNA is running in "quirks mode" with Windows Phone 8 said some developers. Those who write new games and other Windows Phone apps using XNA will be able to target Windows Phone 7.x devices, but will not be able to target Windows Phone 8-specific programming interfaces. In other words, you can write an app using XNA that will run on Windows Phone 8 because Windows Phone 7.X apps will be able to run on Windows Phone 8. But you cannot write a Windows Phone 8-specific app using XNA, developers said.
Chris Walsh, a Windows Phone developer of "Walshied" phone fame, explained the situation via Twitter this way: "XNA apps are run in a isolated mode, don't get access to new (WP8) features, but get full use of the hardware."
XNA support isn't the only question I've gotten from some Windows Phone developers and wannabes. I've also been asked whether Microsoft is pushing HTML5 as a preferred way to write apps for Windows Phone 8, given that is a big emphasis on the Windows 8 and Windows RT side of the house. The answer there is more definitive, but not 100 percent so. From the leaked SDK documentation:
But there seems to be some kind of HTML support in the new platform. Microsoft Most Valuable Professional (MVP) Jeremiah Morrill tweeted this week: "HTML5 features are supported on Windows Phone 8, but only as embedded browser in Xaml apps or in browser itself."
For the record, Microsoft officials are declining to clarify or comment on XNA support in Windows Phone 8. They also are not commenting on when to expect the official release of the SDK. I had heard from some of my contacts the target was "by the end of July," but it's still not available. Microsoft officials have said the SDK will be out "this summer." I've also heard the release-to-manufacturing target for the Windows Phone 8 OS is September, but Microsoft officials also are not commenting on that.
In other Windows Phone news, Verizon is expected to push out the "Tango" updates to HTC Trophy users starting on August 1, according to WPCentral.com.
And it looks like we could hear more soon regarding the details of Microsoft's promised ability to compile Windows Phone developers' apps "in the cloud." Get ready for some JIT (just in time) razzle-dazzle.
Update: A couple of readers have noted there is a way to use XNA to build Windows 8 Metro-Style apps: Monogame. It just so happens that Microsoft evangelist Bob Familiar blogged today about Monogame, an open-source implementation of Microsoft's XNA Framework. Perhaps a hint here about a possible solution for the seeming XNA limitations in Windows Phone 8?