The evergreen cross-platform UI question

The new dotnetcore 3.0 release is super exciting. With everything we know about .NET5, the future of the whole ecosystem is, in my opinion, bound to be very good.

To jump the wagon I need to find a good cross-platform, open-source UI lib.

There are tons of discussions like that on the internet, but they all seem to be quite dated. It’s understandable that the options back then were limited, but I hope things have changed.

I’ve read about some Electron-based solutions, about Eto.Forms and Avalonia.

At this moment I use mono/Xwt. It has its issues, but also gives me nice features:

  • relatively fast and easy to hack
  • it looks native-ish on Windows, Linux (with GTK) and macOS
  • it doesn’t force me to install GTK/Qt/other heavy dependencies on Windows(!!!)
  • it has no javascript :wink:

It will not support .NET Core, or at least I didn’t see any movement in this direction.

Would the community be so kind to share any updates on the status quo? Is there anything new that is interesting and could be used to migrate to .NET Core?

Is any solution stable enough to give it a go? Avalonia maybe? I’m not very much interested in electron, for tons of reasons we can argue about on twitter :wink: And I don’t need native look that much, as long as I don’t have to install tons of dependencies.

In 2019, I would point people towards the following:

  • Xamarin.Forms - cross platform UI lib, supported by Microsoft, runs on Windows (UWP), Windows (WPF - in beta), Android, iOS, Tizen, and I believe there are some community based Linux/Mac renderers for it.
  • Uno - cross platform “port-ish” of UWP. Runs in UWP, Android, iOS, and the Web via WebAssembly.

I hear Avalonia frequently as an option, but have no experience with it. I use primarily Xamarin.Forms. Note, the Uno platform now has Xamarin.Forms renderers that work in the WebAssembly target of Uno, so you can use Xamarin.Forms with Uno on the Web.

Lots of excitement and movement for Uno lately - they just had their first UnoConf, and lots of fans of the project at Microsoft (including Miguel).

.NET Foundation Website | Blog | Projects | Code of Conduct