4 ms·
In my view the primary reason for GTK’s prominence on Linux rides on one thing primarily: it’s got C bindings, and thus it has decent bindings for just about ev
by cosmic_cheese 1y ago
In my view the primary reason for GTK’s prominence on Linux rides on one thing primarily: it’s got C bindings, and thus it has decent bindings for just about every other language under the sun too. If you’re not trying for anything fancy, these bindings can even be auto-generated.
The runner up Qt is much more tightly tied to C++ and Python to its detriment. You really need to meet devs where they’re at instead of insisting that they adopt a particular language to use your UI toolkit.
Aside from that, at the end of the day, if you’re building a full fat complex desktop app an old style imperative UI toolkit is probably one of the more practical choices you can make. They have an exhaustive set of battle tested, accessible widgets built in and their pitfalls are well known. Newer approaches expect you to write or import everything and start requiring increased contortions from the developer past a certain point of complexity.
- bobajeff 1y agoActually the auto generated bindings can be attributed to the gobject system. It's a very interesting system, similar DCOM in Windows. Too bad it's so poorly documented. It seems to me like advanced technology left over from a dead civilization, that's being handled by cave people.
- danofsteel32 1y agoGStreamer: https://gstreamer.freedesktop.org/ https://gstreamer.freedesktop.org/ is written in GObject which enabled some great tooling like gst-inspect-1.0: https://gstreamer.freedesktop.org/documentation/tools/gst-inspect.html?gi-language=c https://gstreamer.freedesktop.org/documentation/tools/gst-in...
- cyberax 1y agoAnd it's so flexible that LIGO (the gravitational wave observatory) uses it to analyze the data: https://dcc-llo.ligo.org/public/0168/P2000195/004/ms.pdf https://dcc-llo.ligo.org/public/0168/P2000195/004/ms.pdf
- pjmlp 1y agoCOM, not DCOM, that would be D-BUS.
- ozim 1y agoQt licensing is annoying, GTK has its downsides. So we are left with Electron…
- microtonal 1y agoAren't GTK and Qt (community edition) both LGPL (though different versions)? So Electron does not have downsides? Like far worse platform integration.
- ozim 1y agoWell Qt license is not annoying. Qt the company is annoying because they make it super hard to use community edition and it is super annoying having per developer licensing with all kinds of super annoying BS one have to deal with when developing for Qt. For Electron I can get 20 devs hired tomorrow or I myself can start project right away and be up and running in minutes.
- microtonal 1y agoYep, externalization of costs, make it easier for yourself and shittier for the user. Well done ;). That said, Electron has made the number of Linux apps go up, which is a win. Still highly prefer native macOS apps on Mac and GTK/Qt apps on Linux, but I know that's a losing battle.
- ogoffart 1y agoDid you know about Slint https://slint.dev https://slint.dev ? What do you think about it?
- cosmic_cheese 1y agoI don’t think any UI framework with a license more restrictive or complicated than full on MIT/BSD is going to be able to compete toe to toe with Electron. It doesn’t matter what the price tag is, if it has one it’s going to lose in a shootout between the two. The only exception I can imagine is maybe a framework that uses the Unreal model, where it’s free to use under USD$1m/year in revenue and beyond that requires only a modest fee.