The new initiative is designed to offer developers a common framework for both Windows desktop programs and Universal Windows Platform apps, but it may just spell the end for UWP.
Microsoft has unveiled a new effort to try to reduce the fragmentation surrounding its two Windows app platforms. Launched at its Build 2020 virtual conference, the initiative now known as Project Reunion will give developers a single platform for creating Windows applications. As described by Microsoft, Project Reunion "unifies the Windows platform and decouples it from the OS, allowing developers to easily integrate across Win32 and UWP APIs."
Microsoft initially designed its Universal Windows Platform as a path for developers to create apps that would work on PCs, tablets, and phones alike. But the platform failed to attract much excitement from the developer community at the same time that Microsoft's Windows Phone system faded away. Instead, developers continued to focus on designing traditional desktop, or Win32, applications for Windows. That left Microsoft with little option but to find a way to unify the two platforms, a move that will likely push UWP aside.
Microsoft is promising that Project Reunion will evolve the Windows developer platform in a way that will make it more agile, modern, and open.
SEE: Office 365: A guide for tech and business leaders (free PDF) (TechRepublic)
"The effort will streamline how developers modernize existing apps and create new ones by reducing fragmentation between the Windows API and Universal Windows Platform," Microsoft said. "It will provide a common, backward-compatible platform for existing code and for the latest client platform innovations."
Stefan Stefanov, senior manager for product management at development firm Progress, sees the move as a win for developers.
"We've said for a while that these are exciting times for desktop developers," Stefanov said. "Project Reunion further validates this as it allows developers to build one Windows application that will run on all Windows 10 devices. What's more, the Fluent Design pattern allows developers to create a modern look and feel out of the box, and incorporate native Windows 10 features in both Win32 and UWP apps. There were already great options for desktop developers with WPF and WinForms—Project Reunion expands that world."
Microsoft also announced other developer-related news at Build 2020.
The company is beefing up its Windows Subsystem for Linux (WSL), which allows users to run certain Linux features alongside traditional Windows applications. WSL will soon add support for graphics processing unit (GPU) compute workflows. This enhancement will allow Linux tools to take advantage of GPUs to use hardware acceleration for certain types of development such as parallel computation, training machine learning, and artificial intelligence models.
WSL is also getting support for graphical user interface (GUI) apps. This means users will be able to open a WSL instance and run a Linux GUI app directly without need for a third-party server. Further, WSL will support a simpler way to install Linux apps on Windows through the command "wsl.exe –install."
At this year's Build, Microsoft announced several other items of interest to developers.
- PowerToys improvements. Two requested features have been added to the latest version of Microsoft PowerToys: PowerToys run and keyboard remapper. PowerToys run enables users to quickly access and launch applications, and keyboard remapper allows them to customize keyboard inputs. The tools are available now in the 0.18 release of PowerToys.
- Windows SDK Build Tools NuGet package preview. A Windows SDK Build Tools NuGet package will make it easier for developers to adopt MSIX by factoring out Windows SDK tools into their own NuGet package, reducing dependencies and streamlining integration of Windows SDK build tools into CI/CD pipelines.
- New Windows SDK .NET package preview. A new Windows SDK .NET package will provide a .NET interop assembly for all Windows WinRT application programming interfaces, making it easy to call them from .NET applications.
- C#/WinRT launch. C#/WinRT will allow developers to create WinRT projections for .NET through which managed .NET5 applications can call Windows WinRT application programming interfaces and third-party WinRT components.
- WinUI 3 preview. WinUI 3 will let Windows app developers use the support for Universal Windows Platform (UWP) apps to include desktop-style apps as well.
- Windows Package Manager preview. Windows Package Manager will give developers a tool designed for quick and easy searching as well as the viewing and installing of commonly-used developer tools.
Finally, Windows Terminal 1.0 is now officially out of preview mode and available for enterprise use. Windows Terminal offers a terminal application for users of command-line tools and shells such as Command Prompt, PowerShell, and WSL. Built with multiple tabs, panes, Unicode and UTF-8 character support, a GPU-accelerated text rendering engine, and custom themes and configurations, Windows Terminal is an open-source project available from the Microsoft Store.
- Listen to TechRepublic's Dynamic Developer podcast (TechRepublic)
- How to become a developer: A cheat sheet (TechRepublic)
- 5 developer interview horror stories (free PDF) (TechRepublic)
- Hiring Kit: .Net developer (TechRepublic Premium)
- Programming languages: Developers reveal most loved, most loathed, what pays best (ZDNet)
- It takes work to keep your data private online. These apps can help (CNET)
- Programming languages and developer career resources (TechRepublic on Flipboard)