Hacker News new | ask | show | jobs
by red_admiral 3559 days ago
How much of this is due to fragementatation/walled-garden mentalities, and how much due to issues with the C++/OOP-style API that most GUI/widget toolkits seem to share? With fragmentation as a consequence of everyone exploring their own solution to a genuine problem.

I'd say that the object-oriented style of GTK/wx/Qt/you name it is inherently hard to use cleanly in a language like lua - not that it can't be done but you constantly feel like "there must be a better way to do this". And then the kid next door shows you a HTML5 interface that just makes you go "wow", and the same again when he tells you he built it in 5 minutes. (The wow effect wears off quickly enough once you try such "arcane" things as keyboard shortcuts, or even getting a consistent TAB order half the time.)

It seems to me like everyone has realised that we need something better than writing python while thinking in C++, and everyone's experimenting with their own solution - hence why we have meta-object compilers and g-introspection and whatnot. Perhaps that's necessary because I don't think anyone has made a really good 21st century dynamic-language desktop application API yet that's almost as quick to work in as electron, but gets things right. Possibly with a sprinkle of functional programming and some kind of async thrown in.

You can't blame gnome 3 for not trying, but the amount of custom undocumented CSS you need to hack on to do something like picking an accent colour for the currently selected control make me think this is a really good learning example of how not to do it.