Hacker News new | past | comments | ask | show | jobs | submit login

Ugliness is something I found to be quite common in Java based apps. I never understood why, though.



None of major Java/OpenJDK contributors (Oracle, Red Hat, SAP etc) care about desktop GUI Java libs. Jet Brains do care, but they are not major. All Java progress is concentrated on backend cloud services for 10-15 years already. This can explain why Swing is so underdeveloped and JavaFX was thrown away. Basically much more effort is required to make Java GUI look and behave nicely, comparing to Delphi/Lazarus or .NET GUI libs or Qt.


Swing underdeveloped? You have been misinformed. The entire JetBrains suite is built in Swing and is top of the line. Swing is under active development, has a strong third party ecosystem, and is rock solid. You can do anything you want to do in Swing, and it is a joy to develop with (unlike any/all of the web front end nightmares).

What .NET GUI libraries are you referring to because anything other than WPF is tetering on "not a good idea." Have you built anything in Swing, WPF, Winforms, Xamarin Forms, or MAUI? You should give them all a serious test drive and get back to us with some informed comments.


I just had to pick up and build a UI product in java recently and picked up javafx for the first time. With Kotlin, I actually found it while using my the standard you builder to be quite intuitive and sorta dynamic enough to make development snappy. Definitely the best attempt at GUIs for java, but sad that only smaller shops are actually investing any real effort into the space. Oh and java native + javafx is a pain in the ass until I discovered Bellsoft NDK, which made building a binary from source 100% so much easier.


DataGrip does look visually better than Dbeaver, but I've found Dbeaver has much better performance.


I'm ignorant about this all. Can't you use something like Qt in Java?


You can, but anything in java that needs to step down into c/c++ ends up being a major pain in the ass so it's usually implemented half baked at best. Platform ergonomics are hard and you usually find that what works great in some languages / paradigms just don't flourish in others. It'd be nice to see some good language bindings that feel right for java.


There are Qt bindings for Java, but I’m not familiar with them


Jet Brains care? Do they? In my experience their tools are some of the ugliest out there. Granted, that's highly subjective, but there is "something" off about IntelliJ that I can't really put my finger on. Maybe the lack of whitespace. Maybe the weird tabs.


I meant that Jet Brains do care about GUI support in OpenJDK (mainstream Java), their flagship products depend on this, they employ a number of ex-Oracle GUI devs and contribute fixes upstream. Just there are no new major projects in GUI area in OpenJDK for years, because none of big contributors is interested in it. Compare this to improvements in non-GUI areas like Java 21 Threading and also the whole Graal thing.


Oh I see, I misunderstood what you meant, thanks for clearing that up.

There was a talk [1] at Devoxx 2023 by an Oracle which gave an overview of the current state of the UI ecosystem, and it wasn't too bad, though it seems like it's mainly JavaFX these days. Support for fractional zooming on HiDPI screens on Linux is still shit, unfortunately, which is something that drives me nuts.

[1] https://www.youtube.com/watch?v=Afehjldx4yM


+1, except for Jetbrains IDEs that have polished UI


Dbeaver has quite a few Java annoyances. Windows don't resize properly, the tree list often requires multiple clicks and most annoying of all is running out of heap space on Java, especially if one tries to run more than one task at a time.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: