Microsoft Open Sources .NET Desktop Tech: WPF, Windows Forms, WinUI
Microsoft's sunsetting of the proprietary Windows-centric .NET Framework continues as the company has open sourced some of its most popular desktop components: Windows Presentation Foundation (WPF), Windows Forms and Windows UI XAML Library (WinUI).
The company has been moving off the Windows-only .NET Framework for the more modern, open source, cross-platform alternative, .NET Core, and its variants. That move was accelerated when it announced developers would be able to create WinForms and WPF desktop applications with .NET Core 3.
With the last ties to the Windows platform symbolically severed, Microsoft started to advise developers to use .NET Core going forward for all new projects, noting that the 16-year-old .NET Framework would start winding down in terms of new functionality being introduced via updates. While it will see mostly maintenance updates from here on, most new features will appear in .NET Core.
And now, Microsoft has released the reins of some of its most important Windows technologies. Now on GitHub are WPF, WinForms and WinUI.
"Developers can now participate with Microsoft's client UX technology in a much more interactive way," Microsoft said. "They'll be able to contribute a new feature back to the framework, debug and fix issues that impact their apps, build a private copy of the UI stack, as well as report bugs and other issues. Moving to GitHub provides a greater degree of transparency between the product team and the community, helps democratize Windows development, and encourages more developers to build for Windows."
While Windows Forms and WinUI go open source today, WPF is starting with some smaller components -- System.Xaml -- with more expected in the following months.
"This journey is our continued commitment to creating the development platform with you, through open source," said Kevin Gallo, corporate vice president, Windows Developer Platform, in a blog post today (Dec. 4) coinciding with a presentation at the Microsoft Connect(); 2018 Conference. "Our three, popular Windows UX frameworks are ready for your contributions on GitHub: WPF, Windows Forms, and WinUI. Open sourcing these technologies provides transparency between the product team and the community, helps democratize Windows development, and enables the community to engage and contribute to these repos."
Also, like another nail in the .NET Framework coffin, Gallo announced a new .NET Core 3.0 Preview 1.
"It is the first public release of .NET Core 3," said Microsoft's Rich Lander in his own blog post. "We have some exciting new features to share and would love your feedback. You can develop .NET Core 3 applications with Visual Studio 2019 Preview 1, Visual Studio for Mac and Visual Studio Code." The changes introduced in this preview can be seen here.
However, as .NET Framework is essentially baked in to Windows, it will live on for many more years, even though little new functionality is introduced compared to .NET Core. In fact, Microsoft last week announced that .NET Framework 4.8 was deemed "feature complete" and available in an early access build, even sporting some new capabilities.
"The next version of the .NET Framework, .NET Framework 4.8, will include new controls that use the latest browser and media players in Windows 10, support the latest standards, and WPF and Windows Forms apps will have access to WinUI via XAML Islands for modern look and touch support," Gallo said.
Lander provided more information on v4.8, expected to hit general availability early next year. "With monitors supporting 4K and 8K resolutions we are adding better support for high DPI to WPF and Windows Forms," Lander said. "Many .NET applications use browser and media controls, which are based on older versions of Internet Explorer and Windows Media player."
At its conference, Microsoft made a bevy of other announcements, with some of the more notable ones including:
- .NET Core 2.2 general availability (see more here)
- .NET Foundation open membership model (see more here)
- ML.NET 0.8 public preview (see more here)
- Xamarin.Forms 3.4 general availability (see more here)
- Xamarin.Forms 4.0 public preview (see more here)
- Azure Machine Learning service general availability (see more here)
- Azure Cognitive Services updates (see more here and here)
- Visual Studio 2019 preview (see more here)
- Visual Studio 2019 for Mac preview (see more here)
The new .NET Foundation open membership model sees Pivotal, Progress Telerik and Insight Enterprises joining the current list of sponsors: Red Hat, JetBrains, Google, Unity, Microsoft and Samsung. They keynote presentation by Scott Guthrie, blog posts and more resources are available here.
David Ramel is the editor of Visual Studio Magazine.