Since the advent of Windows 10, Microsoft has positioned the Universal Windows Platform (UWP) as the platform of the future for all Windows-based applications. Expanding on the touch-centric design of Windows 8, UWP provides a common application package that can be deployed to all manner of devices running Windows 10: traditional desktops, tablets, Xbox One, and HoloLens. Developers looking for a modern replacement to Windows Presentation Foundation (WPF) and WinForms based applications are finding UWP's emphasis on touch first design to be lacking in several ways.
Longtime enterprise software developer Dean Chalk has recently written an informative commentary about the situation and where he sees Microsoft to be missing the mark. Titled "Microsoft and The UWP for Enterprise Delusion", Chalk presents his central thesis that UWP is not designed to build traditional line-of-business desktop applications and will not succeed in this role.
First, Chalk points out that business applications are ill-suited for a mobile first mindset. The productivity of a traditional widescreen monitor, mouse, and keyboard are hard to beat with an iPhone's onscreen keyboard. Beyond usability, desktop applications provide far more information density than a smartphone app that must support a touch-based interface.
As Chalk explains, one of the challenges with touch-based applications is that they just are not an ergonomic interface in a desktop setting. Using a keyboard and mouse for input is far more accurate, faster, and less of a physical strain. Speaking from experience as a developer of complex financial applications, Chalk notes that every pixel on-screen matters, so spending valuable real-estate for touch-friendly controls is wasteful and often not valid in his development.
Looking behind the presentation, Chalk observes that debugging traditional WPF applications are much easier to debug since they utilize MSIL and BAML, targeting the Common Language Runtime (CLR). Finding bugs and debugging application flow are much easier when compared to the approach of UWP. Those applications are compiled to machine-code and made part of a COM package which greatly increases the complexity. In some cases this makes debugging nearly impossible by comparison.
What makes Chalk's article interesting is the commentary it has attracted. Tim Sneath, until very recently a program manager at Microsoft, is now at Google working on Flutter. He concurs with Chalk's observations and notes that WPF is built on DirectX 9 which debuted in the Windows XP era. Sneath has written commentary analyzing Microsoft's approach to desktop applications during his tenure at the company. Sneath believes that Microsoft has hit a dead end and this ultimately has taken him to Google's Flutter app SDK. Unfortunately for Windows developers, Flutter targets iOS and Android apps which is of little help for those continuing to develop desktop applications.
When the discussion hit Reddit, the reception was decidely more mixed and in many cases commentators disagreed with Chalk's point of view. Some said that contrary to his statements, many corporate users do want mobile apps, while others felt web-based technologies are sufficient.