There are a lot of people (I'm looking at you, console home-brew community) who build all their little tools to go along with their projects as native GUIs, usually with C# + WinForms—not particularly because they have Windows-specific functionality, but more because they have at least some native functionality (so Electron is out) and C#+WinForms allows them to just make releases as a standalone .exe you can "just" download and run (at least on modern Windows), without needing to first install some external runtime.
This could be a good multiplatform alternative to the C#+WinForms stack, with all the same advantages. (The only con being that statically-linked Qt is pretty dang large.)
[1]: https://hg.libsdl.org/SDL/file/default/docs/README-dynapi.md
I am asking this because sometimes people have different idea on what is accounted for being big.
[1]: https://stackoverflow.com/questions/25426895/qt-static-build...
Edit: grammar, link style
Think: "would software pirates write their little keygen GUIs in this?"
But this binding is LGPL, so
- we can't include it in a closed-source statically-linked Go application as-is;
- this binding plans to offer a commercial license but it isn't available yet;
- dynamic linking of a Go package (i.e. `-buildmode plugin`) is possible on Linux but not on Windows.
There's also the similar https://github.com/kitech/qt.go that works by LoadLibrary/dlsym'ing the Qt dll/so files, that has the same LGPL + no-commercial-alternative license.
The user wants to use the software, the developer wants to provide it. I'm really struggling to see what is unethical about that.
I really wish libui had more support and momentum. It's literally the only sane cross platform UI project in existence. Everything else is not native (html5 guis), has no accessibility support (all the immediate mode ones), is ancient and ugly (wxwidgets), or is bloated (qt).
It exists since 1995 and is still heavily maintained and modernized over time. I don't know any other GUI cross-platform library like that.
We're considering using it for some simple client UI stuff and if we do we plan to make a donation.
This would take a lot of work to be powerful enough for a complex rich UI, but the world needs a basic cross platform UI lib for doing simple interfaces. It's absurd for things like file sync clients and VPN clients to spin up f'ing Electron to provide a UI, but they often do.
To my mind, this is entirely GPL and heaven help anyone who mistakes it for LGPL.