News

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.

Scott Guthrie Announces Open Source News
[Click on image for larger view.] Scott Guthrie Announces Open Source News (source: Microsoft).

"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.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

  • TypeScript Tops New JetBrains 'Language Promise Index'

    In its latest annual developer ecosystem report, JetBrains introduced a new "Language Promise Index" topped by Microsoft's TypeScript programming language.

Subscribe on YouTube