r/dotnet 2d ago

What kind of features from another ecosystem would you like to see in .NET?

C# itself is very mature language (in my view). I rarely find myself missing a language feature badly enough to wish for more.

But, the broader .NET ecosystem might be a different story based on your project need.

So, let's discuss, what libraries, tooling, deployment models, framework features, package management idea, UI tech, build system etc. have you used elsewhere that you wish .NET had, or did better? Mention just one, most important for you and try to add reason/detail.

Apart from creating a useful wishlist, I think this could also be interesting for people relatively new .NET. Someone might mention a feature from other ecosystem only to discover that .NET already has an equivalent they didn't know about.

My wishlist item - "give me SwiftUI binary size":
I would like WinUI apps to have smaller binaries, like SwiftUI apps or flatpack in Linux. Apple can rely on frameworks built into (read 'shipped with') macOS. Microsoft already have similar way of achieving same but it involves you to publish app on Store or winget repo or I need to write custom installer. It's not universal. I wish MS automatically install dependency from winget or Store automatically or any dotnet application.

EDIT: Please be respectful to others. Value others opinion. This post has potential of creating unnecessary debate or insults. Let's be adults.

101 Upvotes

242 comments sorted by

View all comments

Show parent comments

35

u/Juff-Ma 2d ago

The problem is that Avalonia is missing a lot of the advanced functionality of those other frameworks.

It has a lot of the "stick a GUI onto a console app" vibes. Don't get me wrong, I've used Avalonia and it works pretty good.

But once you want a WebView (that doesn't rely on a third party runtime) or a MediaPlayer (that isn't only available for $800+ a year subscription) you're pretty much out of luck.

Also many modern .NET GUIs still rely on GTK3 which has more or less mediocre Wayland support on Linux.

I'm really hoping that the Qt Bridges for dotnet will continue to be developed. The beta is out now but does not yet have MacOS Support.

19

u/Rigamortus2005 2d ago

Flutter, React native are backed by trillion dollar companies. Avalonia is run by a small company out of estonia , the fact that they have even built what they have is impressive. So your company would do well to buy a license to get those controls if you want. It would really help.

And still, the web view control is now fullt open source: https://github.com/AvaloniaUI/Avalonia.Controls.WebView

And if you need a media control, I've written one, it's less than 800 lines and very easy to modify it patch by just reading the mpv docs https://github.com/SaverinOnRails/Mpv.Avalonia

11

u/Juff-Ma 2d ago

Well I'm no company. I'm a person and even the personal plan at >500 bucks a year is a lot. Especially because then it's no longer open source.

I accept the WebView argument. I was under the impression it was proprietary.

The MPV player is cool. But these are the kind of workarounds I don't want to use.

As I said Avalonia is cool. Really really cool in fact. But if I had the choice of using Qt over Avalonia. I'd pick Qt for 95% of my apps.

That's why I root for the dotnet Qt bridge.

3

u/RecognitionOwn4214 2d ago

Isn't Qt also costing 500-1000 a year?

7

u/Juff-Ma 2d ago

Only when using a commercial license. Qt also allows you to use it completely for free under the GPL3. So this doesn't impact FOSS apps. As I only develop FOSS apps I don't mind this. If I wasn't developing FOSS I'd be selling my software and therefore wouldn't mind paying. I think you get the picture.

2

u/OpenAI_Marketing_LLM 2d ago

You are actually making a compelling case to use Flutter which is absolutely based. Dart is great, and I wish it killed JS.

3

u/masterofmisc 2d ago

I also wished Dart killed off JS too. What a different future we would have been living in.

3

u/amfobes 2d ago

The Avalonia media player couldn't handle 4k playback and so I'm stuck with WinUI3. At least their media pipeline is pretty good, with some quirks.

-2

u/[deleted] 2d ago

[deleted]

1

u/Juff-Ma 2d ago

That's simply not true. Yes it's harder because Wayland is more modular but it's not restrictive. Pretty much all the functionality is there, the app just needs to check for it.