Then you have MAUI, which is basically the rebranding of Xamarin Forms, but it does required a bit of rewriting, and apparently there are some bugs still. And on the Mac they have taken the shortcut of building on top of Catalyst to reuse iOS Xamarin.
Then you have the WinDev team pushing WinUI 3.0, still behind UWP capabilities and moreso behind WPF.
Currently on .NET your safest bets are Windows Forms, WPF, the 3rd party projects like Avalonia and Uno, or if the use case is possible, Web.
I would wait for MAUI to mature a bit more, consider WinUI a implementation detail of MAUI on Windows, and ignore it for everything else.
On the desktop, you have WPF, WinUI, QT, GTK, Swing, JavaFX, Electron, and a dozen more. On the frontend, you have React, Angular, Svelte, Ember, Vue, and probably a thousand more, plus roughly as many CSS toolkits as there are atoms in the universe.
And honestly? None of them are that great. Most of them are perfectly functional, but at some point you hit a limit of their abstractions, and start fighting against the framework, rather than fighting alongside it.
This is probably true of any domain if you go deep enough, but UI development seems significantly more fraught with danger and churn than the backend.
(The last time I wrote a 3D rasterizer was in 1996, and I had to type my dependencies in from paper into Borland Turbo C)
I wish there was some streamlined way (config of VS Code?) of doing that, not as extreme, but building regular Win32 apps without the .NET runtime, but with the C# language. Like how you can still use modern C++ but target just Win32.
That would be I think, an awesome compromise of power. C# is a really great language all on its own, without the .NET standard library.
The "AOT" compiler is basically "run the JIT upfront".
Imagine a very primitive version of stadia.