Microsoft's announcement this week about a new universal apps infrastructure for Windows and Windows Phone—and, soon, Xbox One as well—goes a long way towards integrating these platforms for both developers and users. Here's what's happening.
This new infrastructure lets developers create a solution in Visual Studio that includes separate projects for the app on each platform—Windows, Windows Phone, and, soon, Xbox One as well—as well as a shared code project. You can actually do this in Visual Studio today (at least with Windows and Phone), of course, as I discussed earlier in Windows Phone 8.1 Preview: Universal Apps. But with universal apps there are a few improvements.
First, the amount of code that can be shared between the platforms is much greater than before. That's because the Windows Runtime is supported across all of these platforms, starting with Windows 8.1 and Windows Phone 8.1. This is a fairly profound change—and yes, Windows Phone 8.1 still supports Silverlight and the Windows Phone Runtime, of course—and one that was not understood when I wrote that original preview.
From a less technical perspective, Microsoft is also commingling its store backends so that if a user buys a paid app or game on, say, Windows Phone, they will be able to get the same app or game on Windows (or, soon, Xbox One) for free. (And vice versa.) When you access the app in the store on a different Microsoft platform, you're told you already own it and you don't need to pay again.
So universal apps are the real deal. And the best evidence of this, perhaps, is that the coming Office "Touch" for Windows will be delivered as a set of universal apps. This means they'll work on Windows PCs and devices of all kinds. Including Windows Phone. And for those you keeping score, this means that Office will be better on Windows Phone than it is on the iPad. Pretty amazing.