-
Avalonia
Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
C# in its many forms has many challenges, when it comes to desktop software. Mostly that if you want your software to work on any other OS apart from Windows, there still aren't that many good options.
For example, there is Mono with Gtk#, but it's not really widely used, supported and overall seems to be dying, much like MonoDevelop is: https://www.mono-project.com/docs/faq/gtk/
After that, there was Xamarin Forms, but they're facing similar problems because in the new .NET there will be a new officially supported framework for GUI apps (they got bought out essentially and there has been little development on their project since): https://docs.microsoft.com/en-us/xamarin/xamarin-forms/
The new .NET cross platform UI still hasn't been released either and it might be a while until we can actually judge how well the "official" approach works in its stable form: https://docs.microsoft.com/en-us/dotnet/maui/get-started/ins...
There are third party attempts to fill that vacuum of strong options, like Avalonia, but that's also just work in progress, like every other mentioned approach: http://avaloniaui.net/
Of course, there are also others like Eto: https://github.com/picoe/Eto
The point i'm making is that due to the history of .NET, cross platform wasn't a priority and therefore there is a really large amount of fragmentation, as well as the developer efforts are spread thin.
Contrast to Java, where you basically had AWT, then eventually Swing, and now there's JavaFX/OpenJFX, all of which are cross platform. Similarly, in Lazarus (a FreePascal IDE) there's the Lazarus Component Library which is where most if not all of the development effort is focused.
It's probably also easier to just have to learn one framework and set of tooling around it and be able to work on most projects out there that use that language, as opposed to there being so many different ones.
C# in its many forms has many challenges, when it comes to desktop software. Mostly that if you want your software to work on any other OS apart from Windows, there still aren't that many good options.
For example, there is Mono with Gtk#, but it's not really widely used, supported and overall seems to be dying, much like MonoDevelop is: https://www.mono-project.com/docs/faq/gtk/
After that, there was Xamarin Forms, but they're facing similar problems because in the new .NET there will be a new officially supported framework for GUI apps (they got bought out essentially and there has been little development on their project since): https://docs.microsoft.com/en-us/xamarin/xamarin-forms/
The new .NET cross platform UI still hasn't been released either and it might be a while until we can actually judge how well the "official" approach works in its stable form: https://docs.microsoft.com/en-us/dotnet/maui/get-started/ins...
There are third party attempts to fill that vacuum of strong options, like Avalonia, but that's also just work in progress, like every other mentioned approach: http://avaloniaui.net/
Of course, there are also others like Eto: https://github.com/picoe/Eto
The point i'm making is that due to the history of .NET, cross platform wasn't a priority and therefore there is a really large amount of fragmentation, as well as the developer efforts are spread thin.
Contrast to Java, where you basically had AWT, then eventually Swing, and now there's JavaFX/OpenJFX, all of which are cross platform. Similarly, in Lazarus (a FreePascal IDE) there's the Lazarus Component Library which is where most if not all of the development effort is focused.
It's probably also easier to just have to learn one framework and set of tooling around it and be able to work on most projects out there that use that language, as opposed to there being so many different ones.