In contrast, IBM took the native approach with SWT / JFace, and the interfaces written with that library look and feel infinitely more native and performant than Swing and JavaFX ever did and ever will.
The fact that Swing ended up being such a massive failure was in good parts due to the fact that Swing is built on top of AWT.
The story of Swing.
There's a reason why Java completely failed on the desktop: Swing.
> Which do you care more about: it works, or it looks good?
Both. I care about both. And you should too.
But Swing developers got used to only being able to have one. At most.
Even if you can, you can count them on one hand. Swing was a massive failure, and rightfully so, because Swing/JavaFX apps look, and more importantly, feel, like a broken mess.
In contrast, SWT/JFace apps look a lot more native and feel extremely snappy. Apps build on the Eclipse RCP are in general pretty decent looking and they enable all the native controls and functionalities of the host platform.
Why? What value is looking good? There's value in a well designed responsive UX, but how it looks is completely meaningless to me because it doesn't help me get shit done.
If you are going for non-native widgets, they should at least look good. Otherwise you get the worst of both worlds.