More like this

Software

Arrow

Operating Systems

One Windows? How does that work... and WTF is a Universal App?

Microsoft's strategy is to make Store apps popular. Good luck with that

Frodo and the Ring

Analysis “Whether it’s building a game, or a line of business application, there’ll be one way to write a universal application that targets the entire product family,” said Microsoft Executive VP Terry Myerson, announcing Windows 10 yesterday.

One Windows: Windows 10 will be delivered on multiple device types

One Windows: Windows 10 will be delivered on multiple device types

Windows 10, Myerson said, will embrace devices of every type, from tiny embedded systems to PCs with 80-inch screens.

Developers will rightly be sceptical. Microsoft is notorious for introducing new APIs and frameworks (the building blocks of applications) and deprecating old ones, including numerous database APIs and game development with XNA.

Silverlight, an app platform that worked in web pages and on the desktop, was for a time frenetically developed by Microsoft and adopted for Windows Phone 7, but abandoned in favour of a platform introduced with Windows 8, called the Windows Runtime. That's also known as Metro or as the runtime for Windows Store apps.

Windows 10 everywhere does not mean that the operating system will have the same features and user interface on every kind of device.

“We’re not talking about one UI to rule them all,” said Myerson. The core of the OS may be the same, but there will be different APIs and features according to the device type. Microsoft’s idea though is that the Windows Runtime will be included on all them, to unify its platforms, and that developers will be able to write universal apps that run everywhere.

But what is a universal app? The term describes a project type in Visual Studio, Microsoft’s primary development tool and is documented here.

A universal app has multiple targets, each with its own code. There is also a shared code area. When you build the app, Visual Studio combines the shared code with the target-specific code, creating an executable for each target.

Creating a Universal App in Visual Studio

Creating a Universal App in Visual Studio

Sponsored: Global DDoS threat landscape report