The SDK (software development kit) for Visual Studio CTP6 is now available for the Windows 10 technical preview, so developers can finally write and test what Microsoft calls universal apps that work across all Windows devices.
The debut of universal apps is a monumental next step for Microsoft because, as devs know, the time and effort required to develop the same app on multiple platforms or devices leads developers to pick a subset more likely to be profitable. In the Windows world, that has hindered the development of tablet and smartphone apps.
If you can develop an app once and have it immediately functional on multiple devices, that barrier goes away, and the whole Windows 10 ecosystem -- desktop PCs, laptops, Xboxes, tablets, smartphones, wearables, and Internet of things devices -- falls in reach at little additional developer cost.
In Visual Studio 2013 today, you have a separate project for each device. There are ways you can use shared code and have aspects of your development span from one device to another with similar controls but different UI display. But not all controls work across all the Windows platforms. That has to change, and that is where Windows 10's universal apps come in.
In Windows 10 (via Visual Studio CTP6), you have one project for all the devices, not separate projects. You develop the core application, whose code and APIs are inherited by all device types. You then handle device-specific elements as layers to the common core using the extension SDK for each device type. It's similar to the approach Apple has successfully used in its Xcode environment for several years for iOS apps.
Microsoft is easing the effort to address devices' UI differences through its Adaptive UX, which adjusts not only the screen size but also the input type (such as keyboard, mouse, and touch) for each target device.
To make sure your app runs on every device type, you focus on using the universal device family of APIs. If you want to target a specific device or set of devices, you bring in those devices' extension APIs. Thus, you can build "one code base fits all" apps, device-targeted apps, or a mixture of the two. It's very flexible.
Now developers simply have to create the universal apps. Now's a good time to start.