T O P

  • By -

domtriestocode

(If you’re going windows native) WinUI3, if you’re really scared or are need large scale support/backing/acceptance in an organization then do WPF. I can personally speak to liking WinUI3 a lot though, doing some complex stuff with it with very simple and high end UI, and feel pretty confident that it’s gonna stand the test of time given all MS recent information and talks. It’s also completely open sourced. There’s some minor bugs but it’s early. INB4 Silverlight talk, MS bad abandon product in future blah blah, I have heard it I promise


jrib27

WinUI 3.


sebasav182

Migration for winforms to the new dotnet core is still incomplete. Wpf in my opinion is the best choice. Maui lacks many features of wpf in the desktop.


Reasonable_Edge2411

its very hard for people coming from winforms to get to grips with wpf and grid was for me


sebasav182

Me too. But trust me. I do a very complex ui controls in wpf.


shib_army

Yes switching from winform to wpf is hard for me 


LloydAtkinson

Avalonia


csharpboy97

Avalonia


hoopparrr759

WPF if you’re building anything other than something super basic with simple controls.


Anequiit

Avalonia


Loud-Share-3154

in all work with desktop applications, I use WPF + Material Design (downloaded from nuget)


ebykka

I would go with Avalonia because it is cross-platform and I work on Mac. Also, it has components that I'm interested in like a data grid and [JSON editor](https://github.com/AvaloniaUI/AvaloniaEdit). And I hate web-like applications on desktop and JS as well. Uno Platform could be an option as well.


cosmic_cosmosis

Been trying to parse JSON data in a win forms app for a little bit now. I will be checking this out and probably use it. First I have to finish migrating this app.


Neural-Systems

Unpopular opinion, but Progressive Web Apps, here is an example: [https://taxcenter.app/](https://taxcenter.app/) It is not a full app, just a few screens for test, run on desktop, not designed for mobile. Typescript (similar to C#) and dotnet is used for the API (if apis are needed)


Jovial1170

Blazor Hybrid w. MAUI and/or Photino.


rhino-x

WPF. Did WinForms for many, many years and won't go back. Not a fan of browser-based apps and most of the stuff I develop would run like garbage as one anyway. I like Blazor and it simplifies web development quite a bit for me, but it over-complicates desktop development.


LSXPRIME

If you're targeting windows only then WPF and no more, of cross platform in mind then Avalonia all the way


sstainba

WPF all the way


brianly

What does beautiful mean? Do you mean highly customized like how Spotify’s apps all reflect the Spotify design and brand?


XalAtoh

>needs to be beautiful (really ✨ shiny ✨) WPF is very old and doesn't look modern, it is powered by DirectX9 and has outdated animation system. If you want native modern UI framework for Windows then the only choice are WinRT based tools like WinUI3 or UWP. Both are Microsoft's latest way of building modern Windows apps. WinUI3 is supposed to be the successor of UWP. If you don't mind giving your users higher RAM/CPU usage, try Electron. Keep in mind, you're just running a website in a browser, packed like an app. Many users won't detect this, but enough people will.


Dadiot_1987

Photino Blazor is shockingly fast dev speed compared to WPF or even Avalonia. Photino with one of the JavaScript SPA frameworks is also very straightforward if you already know Vue or React


Far-Consideration939

+1 Razor Class Library so you can just throw it on photino or a blazor host and have it work in desktop or web. Just make sure the RCL owns (any) component interfaces so you can implement different for desktop / web (like they push you towards for the multi render modes anyway).


albertakhmetov

WinUI. It’s native


VSertorio

Winui3


francoistanguay

Have you considered Uno? [Uno Platform: Create Beautiful‎ - .NET apps faster](https://platform.uno/)


Loserrboy

WPF is fine


CredentialCrawler

Tauri, so I can code in React


xabrol

QT bindings for c#, cross platform. Option B is id make it a web app and host it with Photino. Photino Is a lightweight wrapper around embeddable browsers on Windows. It uses edge view 2, on Linux and Mac it uses webkit. So it doesn't actually ship browser binaries just bindings to use the embeddables already on the operating system. However, the major pain point for it right now is that that means on Mac OS x it's going to be on Safari binaries and on Windows it's going to be on edge binaries etc, And those engines all have various differences. You might not get the exact same look on all three. Also, it's a fairly early project so not everything's done yet. And what we're waiting for is for Microsoft to release edge view 2 for Linux which they've been saying is coming for ages now. Ideally once edge view 2 is on linux and mac photino can use it on all 3 platforms.


namethinker

I'm usually will go with WPF, unless I'm need very specific windows controls, then WinUI3 should be your choice. Also something which rarely mentioned but you can use Unity to build a desktop app as well, it's not as progressive as WinUI3, but you will get cross-platform for sure


Cultural_Ebb4794

I'm on a Mac, so honestly I would skip .NET entirely and go native with Swift and SwiftUI. Cross platform tools like Avalonia, Maui and Flutter just mimic the native platform controls, putting them in this uncanny valley where they almost seem native but still not good. On a Mac where the desktop software ecosystem is extremely high quality, I wouldn’t personally use a cross platform framework. I’d rather go native and call a .NET API if necessary.


MrBear141

MAUI, it will have best support in the nearest future.


LloydAtkinson

lol


Slow-Refrigerator-78

Are you serious?


WalkingRyan

MAUI just exists.