Our great sponsors
-
Avalonia
Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET Foundation community project.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Uno Platform
Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Have you taken a look at http://avaloniaui.net/ at all?
I have started using Gio https://gioui.org/ for all my projects. It's written in Go and supports pretty much all platforms natively.
there also Fyne which seems promising as modern cross platform toolkit, but does not support native look a guess.
If we're talking about including an extra dependency for each target platform, why not use https://github.com/githubuser0xFFFF/QtFluentDesign
There is also Uno Platform.
I recently created a Go binding here https://github.com/gen2brain/iup-go and was amazed how simple API is, thanks to their attribute system. Although they have some controls that are custom, everything else is native. Compared to Qt or wxWidgets, IUP is just a UI toolkit, Qt/wxWidgets is much more than just a UI toolkit.
I agree with your other comment that a single UI that looks 100% "native" everywhere is a pipe dream. I don't know why certain people keep chasing that rainbow. As someone else noted, "native" isn't even really defined on Linux. For example, I use Window Maker, which has a very different UI than GNOME and KDE—it's not based on GNUstep but has a similar look and integrates well with it. On Linux there are people who still prefer the Motif UI (mwm, fvwm, CDE) and even plain Xaw (twm). Then there are the tiling window managers that just use plain Xlib (e.g. i3).
It's not very well-established, but have you looked at libui-ng, a fork of libui that is actively developed?