❔ Desktop Applications
Hi, i'm looking to know wich GUI should i use for my desktop application?
The app is for business purposes and i wanted to know what should i need to use for efficiency and performance.
If could be Free it was better , but even paid i would love to try something!
Please share your experience with me, i'm trying to know more about desktop applications and being a better Software Developer!
(I've made this post here because i've been coding in C# WinForms for two years almost)
24 Replies
If it is a commercial product then you want a stable GUI Framework.
I would use WPF, all the other frameworks are either outdated or just generally bad.
WPF is XAML based and way faster than WinForms
It is however a Windows-only framework.
I was watching something about WPF and also made some simple apps with it , might start with it.
What's your opinion about Electron tho?
If you know me then you know that I hate web apps. They are generally a lot slower than native apps. Also #1 resource waster.
What I want here is something that also looks good and WinForms, it can look good but with paid Frameworks , like Guna etc.
I've tried Avalonia also but it wasn't what i was looking for
Don't waste time and money to make winforms look good.
$wpfuilibs
MahApps
https://github.com/MahApps/MahApps.Metro
ModernWPF
https://github.com/Kinnara/ModernWpf
Adonis UI
https://github.com/benruehl/adonis-ui
Material Design
https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit
Biaui
https://github.com/YoshihiroIto/Biaui
HandyControl
https://github.com/HandyOrg/HandyControl
WPFUI (Windows 11 inspired)
https://github.com/lepoco/wpfui
Waves (WPF/Avalonia/More)
https://github.com/waves-framework/waves.ui.wpf
I personally like Material Design, but that's me.
Is WPF dead as some people say?
Avalonia is my favorite GUI Framework for .NET, but it is not that stable to be used commercially in my opinion.
Unity does use Avalonia for Plastic CSM
untrue
I was watching the above links and i also liked Material Design and WPFUI (Windows 11 inspired)
You can do Blazor Hybrid
(although that's still web 😆 )
tbh Blazor Hybrid isn't as wasteful as Electron. I see in my most data intensive moment of my app it hovers around 50-200mbs (and I assume most of it is due to loading a lot of entities... since in pages like settings etc it hovers around 50-80mbs (plus there's also an ASPNET Core server running alongside)
(and also that's in Debug configuration :P)
MAUI is sh*t though
Waste of time trying to make an app in that framework which is such a buggy mess.
I did not talk about blazor because he said that he did not liked web apps what i did not liked in Electron
Where does MAUI come into what I've said ? 🤔
You can incorporate blazor hybrid in WPF and winforms too
In our case it's winforms, and it's working wonderfully so far
I see. Well then what is the point?
- "It's not as bad as electron"
How about native? Still far worse, especially for a commercial product. If what they want is performance then WPF is the way to go. No web tech and no winforms.
Yeah native is the best option. I just personally couldn't handle the huge amounts of XML and undocumented stuff hahaha
Web tech is great for cross-platform, but if you want performance, then no. Don't use web tech, prefer native.
It's also great when you have a team of web engineers rather than desktop engineers that want to make a desktop app
You can't afford to learn them something new or pay new hires
Sometimes it's just how it is
But no one can deny that native is the most performant option
You must be very delulu to believe that
The thing about where i work is that i do everything alone , and tbh is frustrating af
Also another great point of web tech is the massive style libraries available
You can pretty much have anything at your hands in whichever style you want at 0 cost development time
Since there are more people at hand with web...
You just gotta weight the cost of time / development/ resources and pick your poison
You can't have a truly good solution for everything
To give an example for this, an autocomplete async multi select control must be hell for WPF/WinUI or whatever desktop technology you have
In most web component libraries this is already solved
And the way to wire it up is easier
(or to make it from scratch yourself)
I've a year of experience with WPF and I tried a bit of avalonia too, so I'm speaking from my personal experience
Maybe someone can correct me
tbh i can't code in others code i rather do all from scratch
Was this issue resolved? If so, run
/close
- otherwise I will mark this as stale and this post will be archived until there is new activity.