XNA support for Windows Phone 8: Is it there or isn't it?

XNA support for Windows Phone 8: Is it there or isn't it?

Summary: Windows Phone developers, who are still waiting for the official release of the Windows Phone 8 software development kit, are looking for answers -- and code.

SHARE:

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.

wp8startscreen

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:

"HTML-based phone apps are not a supported app model in Windows Phone 8 Developer Preview. In fact, unlike Windows 8, there is no direct JavaScript access to phone APIs because JavaScript projections are not available in WinPRT." (My note: WinPRT is the set of Windows Phone specific APIs that are akin to WinRT APIs in Windows 8 and Windows RT.)

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?

Topics: Smartphones, Microsoft, Software Development

About

Mary Jo has covered the tech industry for 30 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

25 comments
Log in or register to join the discussion
  • Messaging

    Not sure this is the best message for Microsoft to send to the developers responsible for the 100K+ Silverlight and XNA apps now populating the Windows Phone store. XNA and Silverlight could coexist with WinRT but Microsoft chooses otherwise.
    stonstad
    • The message that your apps will run fine on WP8 is pretty good news.

      And I dont think this has anything to do with SL apps, just XNA. I think rebuilding an SL app as a WPRT app to get access to the new WPRT apis for a WP8 version will be simple.
      Johnny Vegas
      • Silverlight?

        Johnny, I haven't tried the leaked SDK bits so I do not know definitively, but blogs and Twitter seem to indicate backwards compatibility mode may include Silverlight. Will have to stay tuned and wait for official release bits.
        stonstad
      • Current WP7 games are XNA

        Currently ALL WP7 games in the games hub are XNA (or SL/XNA fusion apps). I think developers would like to be planning their next udpdates, not rewriting their apps in C++ to be able to gain access to the WP8-specific features.
        kinect_dev
  • Shifted 2 weeks

    If you assume that the official SDK preview requires Windows 8 RTM, then I'd expect the SDK on the 15th when MSDN and TechNet get access, at least for companies. Individuals may get it at the beginning of September when normal developers get access to Windows 8.
    Jeff Kibuule
  • Developers Are Ceasing To Care

    Microsoft's mobile efforts are showing less and less signs of any coherent leadership with every passing day. How hard is it to answer a straightforward question? But no, they have to be coy about it. So they come across as not having a clue what they're doing.
    ldo17
    • Huh?

      Most of these blogs are making guesses based off of leaks, with nothing official from Microsoft. If Microsoft isn't read to talk about it, then of course they aren't going to talk about it.
      spartanstu2011
  • So many developers screamed for native code support in Windows Phone....

    ...and Microsoft provided it, along with continued XNA support, and now the developers are whining that XNA is the "bastard stepchild"? Seriously?

    Grow up people!
    PollyProteus
    • I'll be sued

      I'm a game developer as my day job and I was contracted by a company to build an ecosystem with "gamification" at the heart. I promised them that I could write one codebase that spanned PC, XBox and Windows Phone using C#/XNA and save them thousands of dollars and man hours. After almost 2 years the system is up and running. If I go to them now and say, "guess what guys, not only will our system not run on future Windows Phone devices, it won't run on WinRT / Win8 either," what are they going to say? I'll be lucky if I don't get sued. They'll say, "Well, if we're going to have to rewrite in C++ then we might as well go all out and write in Objective-C and leave the Windows ecosystem behind."

      It's not whining to ask Microsoft choose a platform and stick with it. There's nothing magical about XNA except the fact that they told me to use it and I did and I now have tens of thousands of lines of code invested in it and there's no room to rewrite it.
      kinect_dev
      • Why are you NOT using MonoGame?

        Look at the updated link below the article. Why are you not using MonoGame? It is proven and has game using MonoGame ( XNA ) on the Windows 8 Preview store right now!! Check out ARMED! on the Windows 8 store, it was written using MonoGame.
        SoftSavage
        • Deprecation

          kinect_dev, I couldn't agree with you more. There was nothing in the cards that made Microsoft *deprecate* XNA and Silverlight on the WinRT platform. MS could have carried both technologies forward but I suspect internal politics and infighting won over.

          Re: SoftSavage. MonoGame didn't exist at the time the op started his project. More over, it's hard for consultants to build platforms on platforms that lack the full care and feeding / support of a Microsoft supported API. Of course, there is great irony in this logic.
          stonstad
  • So many developers screamed for native code support in Windows Phone....

    ...and Microsoft provided it, along with continued XNA support, and now the developers are whining that XNA is the "b@st@rd-stepchild"? Seriously?

    Grow up people!
    PollyProteus
    • I only wanted to call native dlls (i.e. opencv) from C#

      I didn't want to be forced to go full C++ to access the 3D stack.
      kinect_dev
  • This tweet by @WPDev tricked me!

    This tweet by @WPDev makes it sound like you can develop WP8 apps with XNA:

    https://twitter.com/wpdev/status/216212019177725952
    kinect_dev
  • C++ Does Not Own 3D

    I've said it before, there is no reason that C++ should be the only language to be able to directly access the hardware accelerated 3D stack. There isn't anything about C++ that makes it inherently better for 3D. It may be slightly more efficient for some tasks but that doesn't matter at all for 99% of games out there.

    Last year the WP team sent out a survey about using C++ for app development. The only reason I voted for C++ was to gain access to native image processing libraries like OpenCV (which still sounds ominously impossible). I only wanted to call native dlls from my C# apps. I never wanted to go full C++ or lose the ability to access 3D functionality directly from C#.
    kinect_dev
  • HTML

    Are Microsoft finally getting one piece of the app jigsaw that developers do NOT want to make apps in Html5 plus javascript? This article hints that maybe true. You only have to look at the windows 8 developer forums to realise which is the more popular dev environment and it isnt html5/js.
    siber1an@...
  • XNA and it's Future

    I agree the water is as muddy as ever with XNA, the answers we are seeing just do not add up.

    I just commented on an article that goes so far to call out MS's big wins with Education and XNA getting it in to schools and universities to get people into Game development and the arts without the scary pointer C++ stuff. But then backs off says Microsoft doesn't care about that anymore go do C++ or MomoGame (I actually like MonoGame)

    http://bit.ly/N4oJfo

    It makes me laugh out and cry when people keep saying XNA is Dead. What do we actually loose doing XNA dev for Windows 8, the ability to have a Live Tile - THATS ALL.

    Granted there has been the long running debate about increased Direct X/3D support but that is nothing new.

    The only big shame will be if VS 2012 doesn't support XNA (but it could come later if MS are bothered)

    If the only way to get XNA to Windows Phone 8 is via deploying to WP7, then that's fine with me and what actual new device support do we need in WP8, NFC maybe but that's about it.
    Simon (Darkside) Jackson
    • Clarification

      Just to clarify, when I say XNA is available on all versions. Natively it's not available on WinRT but you still have routes through other XNA based Metro frameworks like MonoGame / SunBurn and even Unity (UnityXNA)
      Simon (Darkside) Jackson
  • SharpDX

    There is SharpDX too, which enables developers to write DX11 games with C# on Windows 8 (Desktop or Metro)

    SharpDX is currently used with quite a lot of games on the Windows Marketplace on the RP. It's really only a wrapper on top of native DX, and the performance is rather impressive (and miles away from XNA...)

    http://code4k.blogspot.fr/2011/03/benchmarking-cnet-direct3d-11-apis-vs.html
    Maupertuis
    • SharpDX Addendum

      I should add that SharpDX will almost certainly work as expected on WP8
      Maupertuis