Ask HN: What's the state of the art in multi-platform client GUI development?
https://news.ycombinator.com/item?id=8639403It seems to me that there's plenty of good options for writing everything but the GUI of client apps in a cross-platform manner. Just for example, one could write the meat of an app in C++, and it could be compiled to OS X, Linux, Windows, iOS and Android. With Emscripten one can even run it in a browser surprisingly well.
However, the GUI side of things seems to be split into three (let me know if I've missed a category):
1) Native to the OS (That's to say, using OS-provided widgets and idiomatic HIG) 2) HTML/CSS based (E.g. React in a Chromium environment) 3) Some kind of cross-platform widgets (E.g Java Swing/AWT, QT, even OpenGL)
I think the first option seems to be the most favoured, but option 2 still seems attractive to me (as a dev), given how well Spotify and Atom seem to work. Option 3, while practical for some applications, seems to be generally derided to the point of contempt.
I do wonder how much of how well option 2 performs is down to implementation, rather than a fundamental limitation of its approach. For instance, before Atom moved to using React, it was dreadfully slow to scroll.
Another way to phrase it is, what multi-platform apps do you admire, and what tech stack do they use? I'm particularly interested in excellent examples of cross-platform GUIs (Be they HTML/CSS or otherwise)