> what cross-platform libraries are available for Nim!
Things might have changed over the past couple years, but, at least at the time, there weren't any (usable) Nim bindings for either.
There is no (grammatical) article in its title. You seem to be assuming the article is implicitly "the", which would imply that it's intended for a more-or-less universal audience. It could just as easily be "a", which would then mean that it's more of a personal rant about the author's specific situation. I'd argue that the leading two sentences in the italicized portion of the article imply that it's the latter.
For the sake of throwing my own $0.02 in, I also have a historical habit of blithely ignoring wxWidgets and QT for my hobby projects. Their being written in C++ bit is a bit of a deal-breaker for me. The quagmire of interacting with C++ code from a language that isn't itself C++ in a cross-platform way results in me shaving my fill of yaks during working hours; I have little taste for doing even more of it during time that's supposed to be reserved for fun.
And qt python bindings seems to be very poorly documented, same case with Java bindings.
Yes, time travel would solve most software development problems.
[1]: https://github.com/nim-lang/Nim/issues/6043 [2]: https://github.com/Araq/wxnim
I guess since he excludes GTK2 at the beginning for size concerns, wxWidgets and Qt would fall into the same category.
well, he can keep joking and I can keep shipping Qt apps and everyone's happy
Instead, I took the (longer) time to hand-tune Qt source and qconfig.h. My cross-platform desktop builds are under 2MB in a single executable, which appears to be something the OP wanted in the first place.
But, now that I've thought about it for a few minutes, it does sound pretty straight forward. Unless Qt makes it difficult for some reason?
It's a Stack Overflow world, baby, we just live in it.
Given how everyone jumps on Electron these days, I don’t think thats a particular concern for anyone who just wants something to “simply be” cross-platform.
the only true "cross-platform" alternative is electron, which is a bit bloated and slow, but vscode is built on it, along with many others and worked fine. I personally prefer electron these days.
If you have to deal with all that baggage, then you might as well go build the UI layer native.
https://wiki.qt.io/Language_Bindings
5.1 Qt for Python (PyQt)
5.2 Qt for Ring (RingQt)
5.3 Qt for Rust (Rust-Qt)
5.4 Qt Quick for Rust (qml-rust)
5.5 Qt Quick for Rust (qmlrs)
5.6 Qt for Crystal (qt5.cr)
5.7 Qt for Go (qt)
5.8 Qt for C#/Mono/.Net (QtSharp)
5.9 Qt for C#/Mono/.Net (Qml.Net)
5.10 Qt for D (QtE5)
5.11 Qt for Haskell (qtHaskell)
5.12 Qtah
5.13 Qt for Julia (QML.jl)
5.14 Qt Quick for Haskell (HsQML)
5.15 Qt Quick for OCaml (lablqml)
5.16 Qt Quick for Node.js (Brig)
5.17 QML bindings for Nelson language
And the only churn was a change about five years ago from a less pythonic API (using wrapped Qt types for most things) to a more pythonic one (using Python's native types where it makes sense). And that wasn't even that bad. Other than that it has no more churn than Qt itself does.
With it, you have the full power of .NET Core and QML. There really isn't any limits.