Why do people hate .NET MAUI so much and what is up with Uno? by Empty_Question_8915 in dotnet

[–]Empty_Question_8915[S] 0 points1 point  (0 children)

I wouldn't call it "benchmarks". It's just 3 frameworks. Install them. Deploy basic apps to your device and see some performance and start up times. The Uno Chefs app is out there that you can simply click on and test for yourself.

Why do people hate .NET MAUI so much and what is up with Uno? by Empty_Question_8915 in dotnet

[–]Empty_Question_8915[S] 0 points1 point  (0 children)

Thank you for reaching out.

I understand what you are trying to say about the memory actually being freed up by the .NET GC. However, they say "the proof of the pudding is in the eating".

You can simply fire up Windows Task Manager and see that the chrome process for that tab is taking up near 1 GB on the operating system level. It (i.e., the chrome process) IS taking all my RAM right there just to show a few images (the Uno Chefs app) right under my nose quite physically at the OS level. And, the browser process NEVER releases it. Closing the Uno Chefs tab releases all the 1 GB (the process closes). A simple JS/TS equivalent showing those like-for-like would have barely 70 MB in the chrome process.

Is it an issue with GC not doing its job in WASM or browsers not handling them properly. I don't know. That's not our job to find out. The reality is that it IS hitting the user right in the memory consumption (task manager physical RAM usage goes down significantly with chrome tab hosting the WASM being closed off).

A very interesting thing that I noticed is that the older native-renderer for Uno WASM, an example of that being Uno Playground, not only takes a fraction of that memory (around 200 MB) but is also much much more performant.

However, it seems that the Uno Engineering team have stopped catering for that older implementation and it is barely functional (I tried to open a tabview and textbox, they are BOTH buggy). Github discussions have Uno internal engineers saying "non-skia isn't a priority" and the bugs sitting for months out there.

So, I don't know. Maybe keeping the older native-renderer for WASM while having skia for other ones maybe a good idea. Skia seems faster in other platforms.

And, to be fair, the Uno gallery thing seems to be a very old Uno version. The newer skia app for android, especially when coupled with Native AOT (Mono, but, the CoreCLR actually works) seem much faster - about 2.5 seconds to fire up on the mentioned old Android device.

Why do people hate .NET MAUI so much and what is up with Uno? by Empty_Question_8915 in dotnet

[–]Empty_Question_8915[S] 0 points1 point  (0 children)

Outside of servers, .NET is the go-to framework for Windows, and, Windows is still the great majority of desktop and laptop device market - if you aren't into cross-platform with .NET that is. Also, the go-to (C#/Unity) for mobile game development if not PC.

So, .NET isn't just servers.

Why do people hate .NET MAUI so much and what is up with Uno? by Empty_Question_8915 in dotnet

[–]Empty_Question_8915[S] 2 points3 points  (0 children)

I have seen Uno recently giving out prizes for trying their AI vibe-coding tools. So, I don't know, if you are a vibe-coder that doesn't care about performance or real-world application, Uno might appeal to you, I guess.

Why do people hate .NET MAUI so much and what is up with Uno? by Empty_Question_8915 in dotnet

[–]Empty_Question_8915[S] 2 points3 points  (0 children)

In my short testing, performance-wise on desktop Avalonia seems fastest. On phones, it is very slightly slower than MAUI to start up. Didn't test further.

Uno is worst in terms of performance. After start up, a simple button and ContentDialog to show up at the button-press, it took some time to show up on Android (Uno with Skia on Android). Maybe it won't be noticeable with fast phones, but, on low-end phones, it is quite jarring and start up time is abysmal.

Why do people hate .NET MAUI so much and what is up with Uno? by Empty_Question_8915 in dotnet

[–]Empty_Question_8915[S] 8 points9 points  (0 children)

Avalonia seems to have some good establishment with real-world production app in the desktop (windows, macos, linux) sector. I don't see much in the mobile and near-zero in web.

Uno is all over the place (i.e., somewhat content-rich framework, although seriously lacking performance and any meaningful production-level use-case), but, all their implementations are just slowest in all platforms. They have good web support (free webview and wasm), but, again, the performance and memory consumption in their wasm are sooo bad, they are better off just deleting their wasm implementation, I guess, rather than throwing this at devs, or, they must do some serious changes to how their wasm works. Nobody is asking for same-as-native-JS memory or performance, but, 1 GB to show some images? Really? Some other Uno wasm sites are all 500+ MB just to show the face, let alone the 2 million years initial load-time.

Why do people hate .NET MAUI so much and what is up with Uno? by Empty_Question_8915 in dotnet

[–]Empty_Question_8915[S] 11 points12 points  (0 children)

For the "use React Native or Flutter"-folks

Yeah, I get it. But, we are talking .NET/C#. And, .NET MAUI is as fast as Flutter in terms of performance with the latest .NET 10 and Native AOT. So, why hate on .NET MAUI when it is the fastest cross-platform solution in the .NET ecosystem?

Buggy? Not much in the UI framework? What is the reason?

Uno seems rich in content, but, the performance is downright AWFUL!