A Microsoft .NET Community Standup has left Windows desktop developers wondering what kind of future, if any, the company has planned for its older desktop application frameworks, Windows Forms and Windows Presentation Foundation (WPF).
A “what’s new” slide for WPF presented by senior program manager Olia Gavrysh last week shows “Community Run Project” as the first bullet point, causing consternation among attendees. “Who’s happy that WPF is now a community run project? This is soooo scary,” remarked Morten Nielsen, a developer in attendance.
The slide was perhaps misinterpreted. It was intended as an update on what is happening with pull requests from the community, rather than meaing that WPF has been handed over to the community. Nevertheless, concerns about the future of the framework are well founded. “It’s not dead. we have a team working on WPF and supporting it,” said Gavrysh, but added, “we now switch to the model where we accept a lot of PRs [pull requests] from the community because we think of WPF as [a] very mature project so not that much rapid development is happening.”
Even those outside Microsoft who are submitting PRs are not happy, complaining that their work or suggestions are ignored for long periods. Gavrysh acknowledged the delays which she said were because of “team transfers” and other internal matters which were now resolved.
“In the future we’ll accept more and more PRs,” she said.
Managing a widely-used project is never easy though: A recent effort to improve the accessibility of the WPF DataGrid component by adding a new keyboard shortcut was approved quickly for .NET 7 – but has broken existing code. “This feature is not thoroughly thought through and looks like slipped through the cracks … I am not sure how change was ‘Reviewed’ and ‘Approved’,” complained a developer.
Why do developers still use these old frameworks? Windows Forms dates from the launch of .NET in 2001, and WPF from Windows Vista in 2006. The problem is that Microsoft has struggled to establish a successor desktop framework with an equally good combination of developer productivity and capability. Following the Windows 8 adventure, the latest thing for .NET is either WinUI, which requires at least Windows 10 1809, or MAUI (Multi-platform App UI). After a long period of neglect, Microsoft ported both Windows Forms and WPF to .NET Core, but the pace of development has been slow. Windows Forms has received a little more attention than WPF but both now seem to be in the same legacy bucket.
Asked what Microsoft now recommends, Gavrysh began a long answer with “it depends” and cited target platform and developer skills or preferences as key factors.
Some developers now wonder if the real successor to WPF is Avalonia, a true community project that targets Windows, Linux and macOS and now has full support in the JetBrains Rider IDE.
The high productivity of Windows Forms and WPF played a key role in cementing the dominance of Windows desktops in business, but the message seems to be that these frameworks are no longer strategic to Microsoft except as legacy technology that it is keen to keep working.