New Windows 10 SDK prods devs to embrace Windows' future

The new Windows 10 SDK is all about moving beyond the Windows legacy, into the Universal Windows Platform, then the eventual multi-OS workflows

New Windows 10 SDK prods devs to embrace Windows' future
Thinkstock/Microsoft

It won’t be long now until the third major update of Windows 10 leaves the Windows Insider program and becomes the basis for the Current Branch release. Not long after, it should become the Current Branch for Business release, ready for wide-scale deployment on corporate hardware. Although many enterprises have yet to start rolling out Windows 10, we’re now at the point where it’s getting hard to find new PCs that run Windows 8.1 and earlier. The clock is ticking.

Last week, Microsoft announced that its Windows 10 SDK is now feature-complete, and developers should start using the latest build of the SDK to develop software for the upcoming Windows 10 Creators Update 1703 release. Getting a feature-complete SDK out the door is important, especially because Microsoft isn’t giving up on its Universal Windows Platform that relies on them.

Move to UWP with Desktop Bridge

Although UWP may share some elements of its WinRT predecessor, don’t confuse it with Windows 8’s development platform. What Microsoft is doing with UWP is less disruptive than WinRT was. UWP supports familiar ways of working while introducing new user interface concepts, and it provides APIs for new hardware like Microsoft’s Surface Dial rotary controller and for new security tools.

UWP is the basis of Microsoft’s current generation of the Windows SDK, working alongside both Win32 and the .Net Framework, offering many of their features and adding support for new services and tools in the latest Windows releases. For example, if you want to take full advantage of the Windows Hello biometric security tools in your applications, you’ll have to use UWP.

One persistent blocker for OS migrations is existing software, especially code that’s been developed in-house. Moving applications completely to UWP will require significant development effort, but there’s a method to ease migration. It gives you access to some parts of the UWP APIs without having to throw away everything you’ve done in the past.

Microsoft introduced a series of tools called Bridges in 2015, providing routes from various platforms to Windows 10. One of these, code-named Project Centennial, now the Desktop Bridge, can help bring existing Win32 apps to Windows 10, wrapping them for use in the Windows Store and adding support for Windows 10’s application-isolation features.

With the Desktop Bridge, existing apps aren’t completely locked out of the UWP APIs; you get limited access to them through its conversion tools. (But this requires adding appropriate code to access APIs and services and recompiling before using the Desktop Bridge.) This approach makes sense as an option to bring apps to new hardware and to new avenues of software distribution, as well as improving software isolation and security. However, it shouldn’t be seen as an end in its own right, only as part of a migration from older Windows APIs to a newer set as applications are rewritten and updated.

Moving your code to UWP via the Desktop Bridge makes sense as part of any Windows 10 Enterprise rollout. It lets you take advantage of new Windows 10 features that aren’t likely to be available to other SDKs. Once imported, the resulting project files can be the basis of any UWP update to your code, bringing in new namespaces and features as required, and refactoring code to take advantage of UWP’s cross-platform capabilities.

Microsoft and Telerik open-source UWP controls

If you’ve been worried about completely moving your applications to UWP because of a lack of controls, Microsoft and Telerik have released Telerik’s core UWP controls under a permissive open source license, hosting them on GitHub. With community support on Stack Overflow, this set of 22 controls should give you most of the controls you’ll need for any enterprise client application, including grids, graphing, list views, and calendars.

Of course, there’s always the option to get a fully supported version of the controls directly from Telerik, but for most apps that shouldn’t be necessary: The UWP controls are familiar examples of common control types that have been around since the 1990s and the early days of Visual Basic. However, they are designed for Windows 10 specifically, so don’t expect code you write using them to work on older releases of Windows.

Cross-platform, cross-device with Project Rome on Android

If moving to UWP is not the enticement Microsoft wants it to be, there are other new capabilities in Windows 10 as a platform that should be attractive. One of these is the Project Rome workflow continuity feature that will eventually allow your users to hand tasks from a Windows PC to an Android tablet to an iOS phone—even to a HoloLens. (It’s similar to Apple’s Handoff technology.)

Microsoft last week announced an Android SDK for Project Rome that’s the first public code to take the platform beyond Windows, with Android and Xamarin libraries. It’s designed to detect Windows devices that are associated with the same Microsoft account or are set up to work anonymously. There are interesting scenarios around using Project Rome with wall-based devices like the Surface Hub, for example: It’s easy to imagine using a presentation tool on a personal device, pushing content to a Surface Hub for display and for collaborative editing.

It’s going to be a while before underlying technologies like Project Rome are widely available, but they’re an intriguing look at how we might be able to work in a multidevice, multi-OS enterprise, handing over content from one unit to another without interrupting workflow. The Android Project Rome SDK doesn’t yet support all the planned interactions, but it’s worth investigating, if only to see how Microsoft expects cross-OS collaboration to work in future enterprise releases of Windows.

With the Windows 10 Creators Update SDK now feature-complete, it’s clear that UWP is the future. That cross-platform business logic and device-specific user experiences is part of that future as well. With two major releases of Windows 10 planned for 2017, now is a good time to start looking at what can be done with a new enterprise development platform.