Microsoft Open Sources WPF, WinForms, and WinUI

Posted on December 4, 2018 by Paul Thurrott in Dev with 19 Comments

Yes, WPF has been around for a while

As part of today’s Connect(); virtual event for developers, Microsoft announced that it will open source its Windows Presentation Foundation, Windows Forms, and Windows UI XAML Library technologies.

This is an interesting development. But I don’t believe it will result in these technologies making their way to other platforms. Instead, it appears that Microsoft is offering a mea culpa, of sorts, for ignoring WPF and WinForms, in particular, and trying to force developers to move to more recent and Windows 10-specific efforts like the Universal Windows Platform (UWP).

“Developers can now participate with Microsoft’s client UX technology in a much more interactive way,” Microsoft explained to me before the event. “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.”

As part of this effort, Microsoft will move the development of Windows Presentation Foundation, Windows Forms, and Windows UI XAML Library to GitHub as well. This, it says, will “provide a greater degree of transparency between the product team and the community, help democratize Windows development, and encourage more developers to build for Windows.”

Windows Forms and the Windows UI XAML Library will be open sourced today, on December 4, 2018. Windows Presentation Foundation will take a bit longer: Microsoft says it will open source some WPF components immediately and will then work to bring the rest of it over in “the following months.”

In related news, the .NET Core 3.0 Preview was also announced and made available today, and this will support building client apps using WPF, Windows Forms, and XAML Islands. Though .NET Core is cross-platform, these features will only work on Windows, of course.


Join the discussion!


Don't have a login but want to join the conversation? Become a Thurrott Premium or Basic User to participate

Comments (19)

19 responses to “Microsoft Open Sources WPF, WinForms, and WinUI”

  1. curtisspendlove

    The most interesting part to me is .NET Standard on Mono.

    As Scott Hanselman says:

    Think about the .NET Standard and how you can run standard libraries on .NET Framework, .NET Core, and Mono - or any ".NET" that's out there. Mono is enabling running .NET Standard libraries via WebAssembly. To be clear - your browser is now .NET Standard capable!

    Interesting, especially in light of the Edge / Chromium rumors.

    Windows in Chrome? In theory you could run a browser-based Windows app on ChromeOS. Heh.

    (Note I haven’t dug into the details, so I don’t know how possible that actually is, or if they will ship the Windows APIs somehow as part of .NET Core, but still. He does go on to caution a bit that many applications will still require installation on a Windows install.)

    • christian.hvid

      In reply to curtisspendlove:

      I didn't watch the presentation, but this sounds like a reference to Blazor, which is basically the Mono runtime executing IL code (.NET DLL:s) in the browser without any plugins. Blazor can also run server side, streaming DOM events and changes from/to the browser via SignalR. It's quite cool actually, although I doubt it will ever become mainstream.

      • curtisspendlove

        In reply to christian.hvid:

        There was a call out to Blazor in the article. And a couple other things.

        I figure MS could make this happen if they wanted.

        • christian.hvid

          In reply to curtisspendlove:

          To be clear, Blazor is not about running Windows apps in the browser. It's still HTML + CSS, but JavaScript is bypassed completely by compiling C# into WebAssembly. If nothing else, it's a first step towards finally weaning the world off JavaScript. I believe we're going to see a host of languages - Dart, Python and Swift come to mind - turned into client-side web languages through the power of WebAssembly.

    • dontbe evil

      In reply to curtisspendlove:

      yeah, what we really need now is a XAML standard

  2. coeus89

    I just recently learned the basics of windows forms and WPF as part of my master's in CS. Very interesting that these are now going to be Open Source. I am sure my professor will have a field day with them :).

  3. bashmohandes

    And the two developers interested are extremely happy with this news

  4. maethorechannen

    But I don’t believe it will result in these technologies making their way to other platforms.

    The Mono project made a clone of WinForms years ago. Who knows, maybe some new life will be breathed back into .net client development on Linux (though I doubt it, especially if it's left up to the community to implement it)

  5. thalter

    Nothing to see here. Windows Forms is dead, and WPF/XAML is not too far behind.

    • christian.hvid

      In reply to thalter:

      As they say on the Iron Islands: what is dead may never die. WinForms and WPF is still used in a gazillion legacy applications, and by open sourcing these technologies Microsoft has essentially guaranteed that they will continue to exist as long as there's a demand. That's a huge deal for developers who worry about being left stranded.

      As for WinUI, that's not legacy at all, but the UI components of UWP turned into a stand-alone library. Open sourcing these can only be good, and I won't be surprised to see the entire Windows 10 SDK being open sourced at some point.

  6. skane2600

    It won't make any difference. People complained for years about MS software being proprietary instead of open source, but the vast majority were never going to do anything with the code anyway.