Microsoft Expounds on Universal API’s Between Windows and Xbox One
Microsoft's Build 2015 event went off very well this year, with a multitude of great information and even a few surprising announcements. But perhaps the most exciting thing for gamers was their live stream Q&A session where Brent Rector and Peter Torr helped to shed light on universal platform API's and what they mean.
Microsofts Universal Windows Platform will extend API compatibility across all Microsoft devices and families.
The main point is that going forward, Microsoft is going to develop a universal windows platform that consolidates all API's to be shared and compatible amongst all of Microsoft's platforms. This means that there is a real and more tangible possibility of instant cross-functionality between Windows Phone, the Xbox and Windows PC's.
API's, though, are sometimes universal and sometimes not. They're collection of files or classes to be used by the language. In the modern age most web application developers are releasing their API to be used with their specific language of choice that may be compatible with most hardware already. Windows uses specific API's for all kinds of functions that the Xbox conceivable wouldn't need, like interacting with DSLR's or even HLSL shader linking within Windows 7 (though that's now included in Windows 7).
OpenMP, OpenCL, OpenAC and OpenGL are all examples of either frameworks that define a universal API, or of a universal API itself. They can be used with many languages and on many different hardware variations. The open concept is where Microsoft has likely gained their inspiration from.
Apple, too, enjoys a level of universality within their API's with the Cocoa and Carbon frameworks, though Cocoa Touch isn't necessarily the same as the original Cocoa. But the it still remains that the creation of higher-level universal API's is something that is already in motion.
But what Microsoft seems to want to do, then, is take control of their platforms and ensure that all future API's that are developed can work in a universal manner. It's not a good practice to start so that programming can become a little more efficient. They've already led the way with DirectX 12 and the newest API's included within being compatible with Windows Phone, the Xbox One and the PC in its entirety, so now they want to take the reigns and ensure a truly universal experience.
That doesn't mean that all these API's are going to be cluttering up your HDD sitting there dormant waiting to be called. No, this just means that they'd work should you want to connect a USB RF antenna to your Xbox One. Though this also doesn't mean that the OS is suddenly now unlocked for you to do with what you please, either. But now you'll know that there's no excuse not to get something to work, because we already know that it actually does underneath.
This overall is actually fantastic news, though it does add a bit of complexity and a longer development time for the API developers themselves. But if it's implemented correctly, then their philosophy will allow anyone to code for all platforms by coding for one, if the language you pick is accessible by all platforms of course.
For game developers this changes very little with the introduction of DirectX 12 and the advent of Vulkan. Nothing really changes, as those were built with all-inclusiveness at their core.
This is still a great strategy moving forward and should only prove to help programmers and developers alike in the long run. Though the results of this move won't likely be felt until a bit later, most certainly a few months after DirectX 12 has been officially released.
Universal API's for all can't be bad, can it? What's everyone's take on this new policy. Is it a good idea, does it help the industry, is it a horrible idea or do we just need moar cat pictures?