Microsoft's UWP = Unwanted Windows Platform?

IT giant recommends migration for those unhappy with current functionality

Microsoft has further clarified its plans for the Universal Windows Platform, a desktop application framework which at the launch of Windows 10 was said to be the future but now looks headed for oblivion.

Principal program manager lead Thomas Fennel has posted on GitHub about the choices facing developers invested in UWP applications.

He explained that the new Windows App SDK – formerly known as Project Reunion – is "using the existing desktop project types as the foundation of the Windows App SDK, due to the vast amount of existing desktop APIs and compatibility that desktop project types provide."

In addition, new capabilities including Fluent Design – Microsoft's design system used for Windows and cross-platform applications – are part of the Windows App SDK, to enable an up-to-date appearance.

What about those who bought into the hype and developed UWP applications? The good news is UWP will continue to get "bug, reliability and security fixes." If you are happy with the functionality, leave it alone, said Fennel. The WebView2 browser control is also coming to WinUI 2, used by UWP apps. The bad news is... everything else.

".NET 5/6 is not coming to UWP project types," said Fennel. If you need this, "we recommend you migrate your project to a WinUI 3 desktop project," he added. WinUI 3 is the UI framework of the Windows App SDK, and unlike WinUI 2 cannot be used by UWP applications.

Fennel said that migration should not be too hard, though there is no automated porting. For a user interface defined in XAML, "in general, you simply change your namespaces from Windows.UI* to Microsoft.UI*." However, developers will know that there are often issues that appear with this kind of migration.

Formerly Project Reunion, the App SDK includes WinUI 3

WinUI 3 ... out of bounds for UWP applications

One remarked in response: "I simply don't understand how you can tell us 'if you're happy with your current functionality in UWP' – we're pretty much 8 years behind any decent advance there has been made." The dev complained about bugs as well as difficulties interoperating with the file system.

Across the Windows universe

UWP was an evolution of WinRT, the API for the Windows Runtime introduced with Windows 8, and was originally designed to be a sandboxed system to make Windows more secure. UWP applications were also intended to be deployed via the Windows Store.

The Windows Store has now been updated so "developers can publish any kind of app, regardless of app framework and packaging technology."

"Once again you abandon a framework. How disappointing!" said another developer.

What went wrong? Business as usual for Microsoft perhaps, but the origins of the UWP debacle go back to 2004 or thereabouts and the decision to remove the dependency of Windows Longhorn (the codename for Windows Vista) on .NET. Early previews of Longhorn used .NET "Avalon" (Windows Presentation Foundation or WPF) at the heart of the Windows UI but performance issues forced an infamous reset and a return to the Server 2003 codebase.

The relevance of this is that the Windows team at Microsoft became convinced that .NET should not be too tightly coupled to Windows, which is why when a new application model was sought for Windows 8, a new thing called Windows Runtime was invented, instead of building on what had been done for Windows Phone, which used the .NET-based Silverlight.

The Windows Runtime supported development in .NET, JavaScript or C++ equally via projections. Clever stuff, but it was new, immature, and lacked compatibility with existing Silverlight or WPF applications. Arguably that decision from the Windows team contributed to the failure of both Windows Phone and, in due course, Windows 8 because lack of compatibility slowed adoption of the new model.

Windows 10 was the beginning of Microsoft unwinding much of what was done with Windows 8, though UWP was still based on the Windows Runtime. Now UWP is going away, the new thing is "WinUI 3 in Desktop" using C# or C++, and Windows developers wary of how long WinUI 3 will endure have to consider options including sticking with Windows Forms or WPF, or jumping ship to JavaScript or other cross-platform solutions. ®

Similar topics

Broader topics

Other stories you might like

  • 381,000-plus Kubernetes API servers 'exposed to internet'
    Firewall isn't a made-up word from the Hackers movie, people

    A large number of servers running the Kubernetes API have been left exposed to the internet, which is not great: they're potentially vulnerable to abuse.

    Nonprofit security organization The Shadowserver Foundation recently scanned 454,729 systems hosting the popular open-source platform for managing and orchestrating containers, finding that more than 381,645 – or about 84 percent – are accessible via the internet to varying degrees thus providing a cracked door into a corporate network.

    "While this does not mean that these instances are fully open or vulnerable to an attack, it is likely that this level of access was not intended and these instances are an unnecessarily exposed attack surface," Shadowserver's team stressed in a write-up. "They also allow for information leakage on version and build."

    Continue reading
  • A peek into Gigabyte's GPU Arm for AI, HPC shops
    High-performance platform choices are going beyond the ubiquitous x86 standard

    Arm-based servers continue to gain momentum with Gigabyte Technology introducing a system based on Ampere's Altra processors paired with Nvidia A100 GPUs, aimed at demanding workloads such as AI training and high-performance compute (HPC) applications.

    The G492-PD0 runs either an Ampere Altra or Altra Max processor, the latter delivering 128 64-bit cores that are compatible with the Armv8.2 architecture.

    It supports 16 DDR4 DIMM slots, which would be enough space for up to 4TB of memory if all slots were filled with 256GB memory modules. The chassis also has space for no fewer than eight Nvidia A100 GPUs, which would make for a costly but very powerful system for those workloads that benefit from GPU acceleration.

    Continue reading
  • GitLab version 15 goes big on visibility and observability
    GitOps fans can take a spin on the free tier for pull-based deployment

    One-stop DevOps shop GitLab has announced version 15 of its platform, hot on the heels of pull-based GitOps turning up on the platform's free tier.

    Version 15.0 marks the arrival of GitLab's next major iteration and attention this time around has turned to visibility and observability – hardly surprising considering the acquisition of OpsTrace as 2021 drew to a close, as well as workflow automation, security and compliance.

    GitLab puts out monthly releases –  hitting 15.1 on June 22 –  and we spoke to the company's senior director of Product, Kenny Johnston, at the recent Kubecon EU event, about what will be added to version 15 as time goes by. During a chat with the company's senior director of Product, Kenny Johnston, at the recent Kubecon EU event, The Register was told that this was more where dollars were being invested into the product.

    Continue reading

Biting the hand that feeds IT © 1998–2022