Finally, we’re getting to the meat of the matter. Windows Phone 7 Series really made major headlines when it was announced a few weeks ago, but despite the big splash, little to nothing was revealed about the developer environment. Similarly, it was unclear how third party applications would integrate with the operating system. At MIX10 today, Microsoft revealed all. Update: A lot more information, including photos and videos, at Engadget.
The key to Windows Phone 7 Series development is Silverlight 4. We’re not talking some cut-down version, but the real deal – exactly the same runtime environment on your phone as you get on your desktop. The same goes for XNA, but we already showed you that earlier. Both XNA and Silverlight 4 are fully hardware accelerated on the phone.
Microsoft also confirmed that developers will not have the ability to develop native code – development is limited to Silverlight 4 and XNA. As Ars Technica notes, this poses problems for Adobe: Microsoft has no problems with offering Flash on Windows Phone 7 Series, but Adobe will have to put the Flash virtual machine on top of the Silverlight one. Delightfully funny.
Applications can either be offered “stand-alone” (i.e., iPhone-style), or, more interestingly, they can be integrated into the existing hubs. For instance, Microsoft showed an image editing application that was part of the Pictures hub, which makes sense when you think about it. Why churn through a list of applications when you can just find it in the most logical place: near your photos? Shazam, for instance, is integrated into the Music & Videos hub.
While in-app purchases will not be supported initially, Microsoft will add this feature in future updates. Redmond does offer the ability to offer a single version of an application in the Marketplace that is both the trial version as well as the full version. In other words, you can buy the trial version (with features turned off, or time-limited, whatever) and then upgrade to the full version without having to delete the trial app and download the full app (the iPhone way).
Sadly, a lot of desired information was absent, too. While Microsoft showed off push notifications, they did not say a thing about multitasking, which means it’s still a big guess how it will work (if at all).
Adobe has already got the basics in place to generate all kinds of backend bytecodes from their own bytecode (usually refered to as ABC). Retargeting .net’s bytecode could be fairly easy to do with their Alchemy/LLVM backend – though I’m not sure how viable that is for distribution. I suppose they’d need a .NET port of LLVM.
I also wonder if Microsoft will be willing to make an exception for certain ISVs like Adobe. If they see the mobile space as a race for developers, I wouldn’t count on it.
BTW, I’ve often wondered if an open source Flash player would make sense implemented on top of Mono/Moonlight. Maybe Adobe could take that up. Hey I can dream can’t I?