What you need to know about Windows 10, UWP, and desktop apps

Is Microsoft's Universal Windows Platform a stepping stone to more modern Windows 10 apps or recognition that traditional PC applications are the foundation of Windows?

Windows 10 tips & tricks Knowledge Pack
Thinkstock

Windows 10 (like Windows 8 before it) isn’t just a new version of Windows. It also comes with a new model for building apps that’s much more like the sandboxed approach of smartphone operating systems.

These apps, currently known as Universal Windows Platform (UWP) apps (previous versions were WinRT, Metro, Modern and Store apps), get access to the new platform features like live tiles on the Start screen, ink input, working with Cortana and creating notifications in the Action Center. But they’re also more limited in some ways, and deliberately so for reasons of security, reliability and battery life.

UWP apps don’t make permanent changes to the Windows environment when you install and use them. Instead they use a virtual registry and system files so they don’t cause conflicts with other apps and they’re easier to remove cleanly. The AppX package they install from can be updated seamlessly to give apps new features. “All developers want their users to be on the most recent version of their app and all users hate popups telling them to upgrade. UWP apps can fix that,” Kevin Gallo, vice president for the Windows developer platform tells CIO.com

The apps need permission to access hardware like microphones and webcams, and they can’t access the entire file system, so a malicious app can’t do as much damage. If they’re running in the background, UWP apps might be closed automatically if the system needs more memory. And what makes them universal is that, if developers choose, the same app can be written to run on a desktop PC, tablet, phone, Xbox and HoloLens — because they all run Windows 10. “UWP is about taking advantage of the full power of the desktop while still developing for other devices,” Gallo says.

The Windows 10 APIs used by UWP apps are where all the new Windows APIs are being added, although many of those APIs can still be used by traditional desktop applications. The AppX packaging format of UWP apps is also used by Windows Server Apps; that’s key for Nano Server where you can’t run the traditional GUI installers used by many server apps, but it also makes for cleaner installs on Windows Server 2016 systems because AppX doesn’t support custom actions.

There’s an increasing number of tools for building UWP apps — from Microsoft’s Xamarin cross-platform development system to the UWP Community Toolkit. In fact, it has been possible to build UWP apps with Xamarin for months already; the team building Xamarin actually does most of their prototyping and core work in UWP.

Microsoft recently worked with Telerik to open source UWP controls for key user interface elements from familiar tools like data grids, data forms and chart controls, to controls for working with touch and ink, and radial controls to use with Microsoft’s Surface Dial. It’s about making it easier to develop UWP apps, said Gallo. “Our enterprise customers tell us that they need a simple toolkit to paste together the simplest apps for their business and we can help them save time.”

Opening up the bug database for the UWP, including the backlog of features that are in development, should also address complaints from developers about lack of clarity over Microsoft’s plans that go back to the first announcement of WinRT in Windows 8 (if not before). “People tell us it's a black hole; they don't see it from us until the release,” says Gallo. “It's just not as transparent as we think it should be. We see ourselves being more efficient internally when we do that and we want to make sure we have transparency in the way we talk about our bugs and feature requests and the way we're evolving the system.” 

Bridging the UWP gap

Convincing enterprise developers to pick up UWP has been an uphill battle for Microsoft, and not just because they only run on Windows 10. Nicholas McQuire, vice president for enterprise research at analyst firm CCS Insight blames both the pace of Windows 10 adoption in the enterprise (which he says will pick up strongly this year) and “Microsoft’s general lack of traction and focus on mobile over the past few years.” But, he adds, “there’s also a general lack of awareness in enterprise on the advantages of UWP and the specific use cases where UWP drives more value.” Plus, “having to rewrite existing desktop apps from scratch has been a barrier, as there still is a ton of immaturity regarding internal mobile app development in general in the enterprise.”

Businesses have existing .NET and Win32 apps that they want to keep using. To make it easier to convert those to UWP, Microsoft introduced the Desktop Bridge last year (it was originally codenamed Project Centennial and is also referred to as the Desktop App Converter). This is a tool that wraps existing apps as UWP apps by watching what registry entries and system files they change and virtualizing those changes.

 “We're trying to make sure that with UWP developers can build powerful desktop apps,” says Gallo. “They've been able to build mobile and mixed reality apps and target Xbox, but we need to make it easier and simpler to move forward their existing apps, to take advantage of UWP on a desktop PC.”

With the Creators Update, converted desktop apps get access to technologies like ink input and Cortana, and even the Microsoft Bot Framework, because they have access to more APIs. Another useful new option: you can now build a Desktop Bridge app that can start up when the OS does.

The Desktop App Converter is now in the Windows Store, so it’s easier for developers to find. And the standard Windows installer tools, Install Shield, WiX and Advanced Installer, can all now work with the converter, so you can create the converted app as part of the normal developer workflow.

Those converted UWPs are slightly different from standard UWP apps because they run with full trust, not in the UWP sandbox, and they can do things those standard UWPs can’t, like accessing the entire file system. They can’t install their own drivers, but they can work with existing drivers for access to hardware, databases and network APIs. This sacrifices some of the protections of UWP to extend the convenience of updates to these apps — and you do still get the virtualized registry and system files, which improve reliability.

That’s what’s most attractive to enterprise developers, says Gartner analyst Steve Kleynhans. “When I talk to customers, they don’t generally say ‘we're going to convert all our apps to UWP.’ They're not being driven towards UWP because they think it’s some great new thing that they can run on every device they've got.” Enterprises looking for cross-platform apps will stick with browser-based apps, he says. “That's still the biggest trend with desktop apps: shifting them to the browser, not rewriting them as UWP. What they're really intrigued about is the Store and the ability to package apps up for self service and deliver them through the Store mechanism.”

“In that sense, the Desktop Bridge is doing exactly what customers want. It’s giving them the opportunity to take the bulk of legacy apps and package them all up so they can be delivered through the Windows Store and enable a self-service model, enable cleaner installation and deinstallation of apps, and potentially open up new models around how things get licenced and deployed.”

Third party software developers are also interested in converting desktop apps, and not just so they can distribute them to enterprises as UWP apps through the Windows Store, explains Ginny Caughey, president of Carolina Software, Inc. and a Windows Development MVP.

“There are two main advantages for using Desktop Bridge for ISVs with existing desktop code: For ISVs whose products and business plan fit the Windows Store model, using Desktop Bridge gives them a new additional way to sell their software, and some companies like Adobe already have Bridge apps in the store.”

“For vertical market ISVs like Carolina Software, the Windows store model doesn’t work from a business prospective — revenue share, support, lack of support for the RFP bidding process common in our industry, etc. — but there are still advantages to using Desktop Bridge. The apps install and uninstall cleanly with the virtualized registry and Windows folders, and using Bridge allows us to add Windows 10-specific functionality gradually, while still maintaining a code base that works on Windows 7 too. For example, in a tablet application I’ve been working on, just extending the WPF application with live tiles and toasts makes the app more usable, and that was a very easy thing to do.”

Crossing the bridge

The potential disadvantage of making the Desktop Bridge easy to use is that developers might wrap their apps and just stop there. That would make UWP apps less universal, because they wouldn’t run on a phone or on the ARM-based Windows notebooks that are coming out soon.

“Right now they are not having trouble selling enterprises on getting apps into the Store through the Desktop Bridge,” says Kleynhans. “But getting them to take that next step beyond that, to take those apps and make them true UWP; that's going to take a little more selling on their part. I think Microsoft is going to work very hard to encourage them to just gradually slide on over and take the skills that have been developed in the past with .NET and gradually evolve them into UWP — but that’s still something Microsoft will have to sell enterprises on.”

Microsoft is certainly working to encourage developers to take those converted apps and make them true UWP apps. The first part of that is combining a converted app with a second UWP process, which gets access to UWP features, like running in Connected Standby, that the converted app itself can’t do. Adobe XD uses this combination; the XD app itself is built in UWP but Adobe has also wrapped desktop components from its existing Windows apps like Photoshop using the Desktop Bridge so XD can share them.

With the Creators Update, more of the familiar .NET and Win32 APIs are also available to UWP apps, so it’s easier to convert existing code to UWP. “We had changed the file system API; we’d changed the network API,” says Gallo. “They were better, but it meant you had to update your code or write shims. If you used the underlying APIs that were sitting on the platform, we wouldn’t approve your app if you used them and put it into the store.” Version numbers were different for APIs, again, making porting code more complex than it needed to be.

Microsoft will keep extending the APIs UWP apps can use to make them a better match for existing code, to remove that frustration, says Gallo.

“The ultimate goal is to transition to full UWP apps, but the question at this point is how long that will take,” says Caughey. “Enterprises tend to change slowly — not all client PCs run Windows 10 yet — so it’s not something that’s urgent. But Microsoft has been pretty clear that new technology investments are going into UWP, so we want to move in that direction. If this takes years, well, it took our software years to get to the place where it is now, so that’s not new for enterprises. We’re used to taking the long view and like to know well in advance where the vendors we rely on like Microsoft plan on taking us.”

“Currently there are some hard technical blockers to moving many enterprise apps to UWP,” Caughey cautions. “Lack of direct SQL Server support (SqlClient for UWP) is an important one for me, so I’m pleased to see that feature is now under active consideration for a future version of Windows. Enterprise-focused UI controls like DataGrid have been missing on UWP, although Microsoft recently announced the Telerik UI controls for UWP have been open sourced and can be used to fill this gap. The open source UWP Community Toolkit, which Microsoft sponsors, will also fill some of those gaps until the main Windows SDKs can provide more of what’s missing.”

This may all take some time, predicts Puja Prabhakar, senior director for Digital Workplace at Avanade. “UWP apps have not reached a critical mass yet,” he tells CIO.com. “As Window 10 adoption increases in the run up to 2020, we may see a more substantial inventory of popular apps re-architected using UWP.”

Rise of the tablet

It won’t necessarily be the ‘universal’ part of UWP that attracts enterprises, even though they like the theory, McQuire says. “Some [enterprises] will migrate to full UWP but perhaps not for the converged mobile/desktop/wearable device platform vision Microsoft has been promoting,” he says. “But where UWP will be attractive from the outset is the improvements in security and manageability it offers, especially to mission-critical apps.”

“Longer term, many will also keep an eye on how Windows 10 on ARM and HoloLens develops. But in the short term, the desktop functionality will create the quickest motion.”

1 2 Page 1
Page 1 of 2
Bing’s AI chatbot came to work for me. I had to fire it.
Shop Tech Products at Amazon