When thinking about making a desktop application with C#, you should think of a few things such as:
- What platforms do you want it to run on – Cross-platform or single platform
- What userbase are you thinking would use it – Is it meant to be simplistic and easy to use or advanced
- Does it need something like a backend – Like a service or background task to do all of the work
You’ve then got to decide what kind of GUI (Graphical User Interface) library you want to use, if you want your application to be cross-platform, I suggest something like Avalonia. However, if your application is going to be a Windows-only utility, I suggest something like WPF (Windows Presentation Foundation).
If your target userbase is something like people that don’t know much about computers, you probably want to go with more of a simplistic and straightforward interface. However, if the application you are building is meant for users that are more advanced with computers, usability is probably a priority.
In terms of a backend, on Windows you could potentially use something like a Windows service. However, for cross-platform, a standard console application running in the background will probably do pretty well. For connecting the frontend to the backend, I suggest checking out my post about inter-process communication using WTDawson.EventPipes.
This was a bit rushed but I plan on doing more in-depth posts about specific GUI frameworks for C# desktop applications in the future, but feel free to comment any suggestions.
Discover more from WTDawson
Subscribe to get the latest posts sent to your email.