winforms VS Introducing .NET Multi-platform App UI (MAUI)

Compare winforms vs Introducing .NET Multi-platform App UI (MAUI) and see what are their differences.

winforms

Windows Forms is a .NET UI framework for building Windows desktop applications. (by dotnet)

Introducing .NET Multi-platform App UI (MAUI)

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop. (by dotnet)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
winforms Introducing .NET Multi-platform App UI (MAUI)
25 273
4,212 21,556
1.8% 1.2%
9.3 9.9
3 days ago 1 day ago
C# C#
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

winforms

Posts with mentions or reviews of winforms. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-18.
  • Ask HN: Any way to write a simple desktop app anymore?
    1 project | news.ycombinator.com | 22 Jan 2024
    Windows Forms[0] is still alive and will never die, and very low overhead to start with, and works on new and shiny .NET 8.

    If Linux or macOS, you can use AvaloniaUI[1] instead which is sufficiently advanced but assumes some prior knowledge.

    [0] https://github.com/dotnet/winforms/blob/main/docs/getting-st...

    [1] https://docs.avaloniaui.net/docs/get-started/

  • A GitHub issue suggests the removal of the WebBrowser control in WinForms. If you think this is a bad idea, be sure to voice your disapproval on the issue!
    1 project | /r/csharp | 30 Nov 2023
  • Duda carrera: C#/.NET vs. Node/Express
    13 projects | /r/devsarg | 18 May 2023
    Winforms: Licencia MIT.
  • We Got the Generics We Have (2022)
    1 project | news.ycombinator.com | 21 Mar 2023
    3. Therefore reified generics are not possible to implement in a backwards compatible way.

    Ok, sure, but if you instead a new generic collection types and leave the old ones alone, you don’t have to worry about breaking existing compiled code.

    This comment about C# suggests a lack of familiarity with the approach C# took:

    > C# made the opposite choice — to update their VM, and invalidate their existing libraries and all the user code that dependend on it.

    All of the pre-generic C# libraries continue to exist to this day (ArrayList, HashTable, and the non-generic IEnumerable). Applications that used them never stopped working. New code uses the generic collections (List and Dictionary).

    Anyways, I think the costs that Java is currently paying for non-reified generics (reflection, performance, and type safety mentioned in the article) is not worth the backwards comparability with the 20 year old J2SE 1.4. The price C# pays for making a backwards incompatible generics (mostly some minor annoyance when designing a collection class implementing IEnumerable) is worth it at this point.

    P.S. ok, I do admit that C# forking the collection library is still causing ongoing maintenance work 18 years later: https://github.com/dotnet/winforms/pull/8673

  • When A .NET Developer Learns Blazor
    5 projects | /r/csharp | 15 Mar 2023
    No, it is fully supported and in active development. https://github.com/dotnet/winforms
  • WPF Roadmap 2023
    3 projects | /r/dotnet | 21 Feb 2023
    No, it's still under active development/maintenance. https://github.com/dotnet/winforms/graphs/contributors
  • Where are these images stored?
    1 project | /r/dotnet | 13 Nov 2022
    The image is kept in-memory— https://github.com/dotnet/winforms/blob/main/src/System.Windows.Forms/src/System/Windows/Forms/PictureBox.cs
  • Does anyone know how to make a UITypeEditor for Winforms that works in .NET 6?
    1 project | /r/csharp | 24 Oct 2022
    Appears that this has been broken for a while. Seems it has something to do with the new designers being run out of process.
  • Why is Microsoft's C# not taught in most universities and Java is instead?
    6 projects | /r/microsoft | 15 Sep 2022
    Also, the runtime that C# runs on, is also completely open source as well (https://github.com/dotnet/runtime); ASP.NET which is used to create web apps in C# is open as well (https://github.com/dotnet/aspnetcore). WinForms/WPF, used to make desktop apps in C# is also open source (https://github.com/dotnet/wpf, https://github.com/dotnet/winforms). All of the source code for these are on the dotnet Github page: https://github.com/dotnet and most are all MIT-licensed.
  • Announcing .NET 7 Preview 5
    3 projects | /r/csharp | 14 Jun 2022
    You'll likely have to open an issue against https://github.com/dotnet/winforms. If you've already opened an issue here, then feel free to link and I might be able to provide suggestions on how to improve the triage process.

Introducing .NET Multi-platform App UI (MAUI)

Posts with mentions or reviews of Introducing .NET Multi-platform App UI (MAUI). We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-14.
  • Developers are not happy with .NET MAUI, but nobody in the team cares about it
    1 project | /r/hackernews | 27 Nov 2023
  • Android predictive back support
    1 project | /r/dotnetMAUI | 25 Nov 2023
    I am migrating XF app into MAUI and writing a simple Navigation framework because Prism doesn't work well and I didn't use anything advanced anyway. So, I am surfing the code of MAUI to intercept all the back buttons, etc. I haven't found a single mention of apis related to predictive back "RegisterOnBackInvokedCallback", "OnBackInvokedDispatcher", "OnBackPressedDispatcher", "AddCallback", "android:enableOnBackInvokedCallback" Also I don't see any issue on github that would say "Support Android Predictive back". Only one kinda related https://github.com/dotnet/maui/issues/8680
  • Group List View And Collection View are not working In .NET MAVI For IOS
    1 project | /r/dotnetMAUI | 25 Nov 2023
    Below issue is still reproducing in Maui .net7.0 version also. #10163
  • .NET 8 – MAUI
    1 project | news.ycombinator.com | 14 Nov 2023
    Maui is Open Source, MIT License

    https://github.com/dotnet/maui

    .NET is Open Source

    https://dotnet.microsoft.com/en-us/platform/open-source

    I do share your skepticism of Microsoft, but it looks like the economics and cash flow dynamics have changed drastically after the advent of the cloud.

    Microsoft is more focused on getting developers onto its ecosystem and help them with open source projects with the hope that they will use its Azure cloud services and bring in the money.

    My skepticism is a bit relaxed now and I have no qualms using .NET.

    I hope I am not wrong.

  • .NET 8 – .NET Blog
    12 projects | news.ycombinator.com | 14 Nov 2023
    It's a bit of a hit and miss as of today. CLI, back-end and natively compiled libraries (think dll/so/dylib or even .lib/.a - you can statically link NAOT binaries into other "unmanaged" code) work best, GUI - requires more work.

    Avalonia[0] and MAUI[1] have known working templates with it, but YMMV.

    [0] https://github.com/lixinyang123/AvaloniaAOT / https://github.com/AvaloniaUI/Avalonia/ / honorable mention https://github.com/VincentH-Net/CSharpForMarkup

    [1] https://github.com/dotnet/maui (try out with just true in csproj - it is known to work e.g. on iOS)

  • What's New in Final RC for .NET 8, .NET MAUI, Asp.net Core and EF8
    2 projects | news.ycombinator.com | 12 Oct 2023
    While this is the quite endorsed by the community: https://github.com/dotnet/maui/discussions/339

    I think the fundamental issue is that desktop Linux is way too fragmented. Not only just GTK2/3 and Qt but you have GNOME, KDE, XFCE, Cinnamon and then you have X11, Xorg, Wayland...

    To be honest, all those craps are why desktop Linux never took off. I'm very safe to say MAUI for Linux will eventually renders components off its own using framebuffer and hardware acceleration APIs such as OpenGL or Vulkan just because of the market fragmentations...

    If desktop Linux truly wants to get the attention, it will need to unify. Fixing dependency hell using Flatpak is the right direction.

    There is an existing old fork of MAUI for Linux that uses GTK: https://github.com/jsuarezruiz/maui-linux

  • MSFTbot: “We've moved this issue to the Backlog milestone”
    1 project | news.ycombinator.com | 29 Sep 2023
  • Every other tab in Shell doesn't show Shell.TitleView on Android
    1 project | /r/dotnetMAUI | 31 Jul 2023
    First I came across this Github issue: https://github.com/dotnet/maui/issues/9687 - According to this issue, this is a known bug for MAUI iOS, but it works OK for MAUI Android. As I said, I target Android only and I have the exact same issue. It's apparantly fixed with some of the latest versions for MAUI but the problem still occurs to me even with MAUI version:
  • Bindable properties issue with Custom controls
    1 project | /r/dotnetMAUI | 12 Jun 2023
    I saw this and tried to imitate (ofc my lack of experience wouldn't allow me to do it in the exact way). Already found some documentation that allowed to understand better. Thanks for the insigh.
  • ASP.NET Core - how to create an IdentityUser account from an external login
    1 project | /r/csharp | 31 May 2023
    I implemented the Auth controller following this sample code from Microsoft.

What are some alternatives?

When comparing winforms and Introducing .NET Multi-platform App UI (MAUI) you can also consider the following projects:

Avalonia - Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology

Flutter - Flutter makes it easy and fast to build beautiful apps for mobile and beyond

Xamarin.Forms - Xamarin.Forms Official Home

Visual Studio Code - Visual Studio Code

WPF - WPF is a .NET Core UI framework for building Windows desktop applications.

Unity-WinForms - A Windows Forms port for Unity3d

maui-linux - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.

Windows UI Library - Windows UI Library: the latest Windows 10 native controls and Fluent styles for your applications

Uno Platform - Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.

react-native-windows - A framework for building native Windows apps with React.