Live data from Hacker News

The decline and fall of Java on the desktop

jdeploy.substack.com

11–20 of 362 posts

Re: The decline and fall of Java on the desktop

#12

I just wish it'd go away entirely. I'm not a dev. But an admin. And I despise supporting or troubleshooting Java applications. Unfortunately that's my life these days. From an admin perspective, python, php, hell.. Even ruby. All fine. But Java is a nightmare.

Depends on the Java application, I feel your pain if need to manage application servers, but supporting and running modern Java applications shipped as jar files or docker images is not hard at all.

Re: The decline and fall of Java on the desktop

#13
post #4

Java Swing still lets you make native-looking-and-feeling apps (with some care). I don't know of any new GUI frameworks that let you do the same. I consider this a killer-feature of the framework. It's also very fast, backed by OpenGL and DirectX. It also ships with source code and isn't declarative, so it's trivial to step into as a means to debug why your code isn't working.

> native-looking-and-feeling apps

Who are you kidding?

> (with some care)

No. Even if you were to give it more care than required to rewrite the GUI natively in each major platform, you still wouldn't be close.

Look, I get it, there are plenty of applications where a bit of clunk in the GUI is beneath other things on the priority list. That's fine. But the number of java devs who think clobbering together a few native widgets means they have constructed a native experience is... disconcertingly high. There's a whole GUI world out there beyond the lowest-common-denominator, and Swing isn't even the best at that.

Your priorities might still be perfectly rational. I might even make the same decisions under the same constraints. Just... be aware of what you're trading away

Re: The decline and fall of Java on the desktop

#14
post #4

Java Swing still lets you make native-looking-and-feeling apps (with some care). I don't know of any new GUI frameworks that let you do the same. I consider this a killer-feature of the framework. It's also very fast, backed by OpenGL and DirectX. It also ships with source code and isn't declarative, so it's trivial to step into as a means to debug why your code isn't working.

The only way to achieve native-looking and feeling apps is to use the native UI toolkit of each platform. There is no such thing as a cross-platform toolkit that doesn't introduce jank and inaccuracy.

Re: The decline and fall of Java on the desktop

#15
Successfully using JavaFX (or OpenJFX as it is now called) in a mission-critical cross-platform app with 50k+ installs.

It’s not that bad really. Package size and RAM usage is a bit of an issue, as we bundle it with a jlink’ed (stripped down to what is needed, thanks to Java 9 modules) JDK.

Other options like Electron or native Windows/macOS wrappers around a shared core written in C++ were discussed but ultimately discarded.

Still happy with the choice, although it feels a bit dated and IDE support (IntelliJ) is so so.

Re: The decline and fall of Java on the desktop

#16
post #7
post #4

Java Swing still lets you make native-looking-and-feeling apps (with some care). I don't know of any new GUI frameworks that let you do the same. I consider this a killer-feature of the framework. It's also very fast, backed by OpenGL and DirectX. It also ships with source code and isn't declarative, so it's trivial to step into as a means to debug why your code isn't working.

I will freely admit that Java Swing remains the only GUI toolkit I've used that I actually felt comfortable using to write a GUI, rather than something that feels like having to pull out teeth to get things working in a somewhat coherent manner.

You haven't tried AppKit, WinForms, or WPF.

Re: The decline and fall of Java on the desktop

#17
For its time, Java Swing was a really nice toolkit, and really impressive in its cross platform capabilities. That you could develop a UI directly with code without having to rely on a design file, IDE, or separate tool was very impressive to me.

Re: The decline and fall of Java on the desktop

#18
post #5

I just wish it'd go away entirely. I'm not a dev. But an admin. And I despise supporting or troubleshooting Java applications. Unfortunately that's my life these days. From an admin perspective, python, php, hell.. Even ruby. All fine. But Java is a nightmare.

Can you explain why it's so hard? I've had a lot better luck running Java apps than Python.

Not the parent but: Java has a long tradition of reimplementing things in Java rather than relying on system libraries. Everything from OpenSSL to tzinfo to libpng has its own Java implementation, entirely separate from anything else on the system.

Re: The decline and fall of Java on the desktop

#19
post #4

Java Swing still lets you make native-looking-and-feeling apps (with some care). I don't know of any new GUI frameworks that let you do the same. I consider this a killer-feature of the framework. It's also very fast, backed by OpenGL and DirectX. It also ships with source code and isn't declarative, so it's trivial to step into as a means to debug why your code isn't working.

Do you mean specifically for Java? The Qt framework widgets look pretty dang native on my Mac.

Re: The decline and fall of Java on the desktop

#20

Successfully using JavaFX (or OpenJFX as it is now called) in a mission-critical cross-platform app with 50k+ installs. It’s not that bad really. Package size and RAM usage is a bit of an issue, as we bundle it with a jlink’ed (stripped down to what is needed, thanks to Java 9 modules) JDK. Other options like Electron or native Windows/macOS wrappers around a shared core written in C++ were discussed but ultimately d…

Just to elaborate, we make heavy use of JNA to interface with platform-specific facilities such as Keychain, Notifications, etc.

JNA is an awesome piece of technology.

Post reply on HN