What are your opinions about Avalonia? It runs on Windows, Mac, Linux, Android, iOS and WebAssembly, with the mobile platforms being in a more immature state as support was added recently.
MAUI is the continuation of Xamarin.Forms, while Avalonia is the spiritual successor to WPF, albeit open-source and cross-platform. MAUI uses platform-native controls (which means the same control may appear or behave differently between operating systems), while Avalonia builds everything with Skia, so it renders the same in every platform. I think of it as the .NET alternative to Flutter, though with a more desktop-centric focus, instead of being mobile-first.
I have not used it yet but it seems the most promising .NET UI framework and I’m hoping to build a personal project in the following months. The first Release Candidate of Avalonia UI v11, which stabilises the API, was released two weeks ago.
I really like it. It is a great framework and it is pleasant working with.
I have been a developer on the Windows desktop for over 20 years and have seen a lot. In recent years, I did a lot of WPF. Line-of-business applications mostly and some custom controls. But WPF is Windows only, which bothered me a lot.
So I was very interested in AvaloniaUI right from the start. It was a rough experience with the early versions but with 0.10 it matured a lot and I did not hit any major issues since then. Version 11 now feels quite polished and complete. Documentation is still scarce unfortunately but the library code is excellently written and well designed so you can find your way around. This is mostly a challenge when you are writing controls yourself though, because there you need to get in touch with the internals. Knowledge from WPF translates well to AvaloniaUI and where there are differences, they are usually improvements.
Desktop applications run effortlessly on Windows/Linux/MacOS, so I am happy. 10/10 would recommend! (I have no experience with AvaloniaUI and mobile/web).
I just recently discovered AvaloniaUI and have been following the tutorials. So far the experience is quite good. The selling point for me is Linux support, MAUI is still not working on Linux desktops and it seems Microsoft will not focus on that anytime soon. Hence, the only real cross-platform solution for me is Avalonia. My WPF skills seem to transfer quite easily and I’m currently in the process of building my first app with Rider on Linux. I need to see how it will handle a more difficult layout and animations, but so far my impression is positive.
Also, they have created Avalonia XPF, which uses Avalonia UI as an abstraction, in order to run (Windows-only) WPF applications on MacOS and Linux.
While the core Avalonia framework is and will be free to use (without price tiers that limit functionalities) XPF is targeted mostly towards businesses and there is a Pro version (they are planning to build a business in order to fund core Avalonia developers).
WPF: migrates a repository
Avalonia: makes WPF cross-platform
I tried MAUI and really didn’t enjoy the experience. I was looking into Avalonia but wasted so much time trying MAUI that I had to go back to regular WPF to finish the project on time.
I’m super interested in it, especially if it can do proper cross platform.