Live data from Hacker News

The decline and fall of Java on the desktop

jdeploy.substack.com

161–170 of 362 posts

Re: The decline and fall of Java on the desktop

#161
In a way, desktop apps themselves declined - right now, besides the browser I'm using, I only have an IDE and an email client open (and I'm a bit of an oddball for not using the webmail client as well). Most of the corporate desktop apps that would have been written in Java in the 90's have long since been migrated to the web.

Re: The decline and fall of Java on the desktop

#162
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.

For a while I thought GTK was great hope for a good toolkit. I remember about this time period in this article (early 2000's) messing around with Perl/GTK to write simple desktop apps.

Unfortunately had issues with new version breaking backwards compatibility etc. which killed it.

QT also had similar hype but never took off.

Re: The decline and fall of Java on the desktop

#163

Earlier quoted context omitted.

Minecraft is an app lication which runs on the desktop... I don't see what you mean.

It's a game. It's UI is full screen and completely divorced from "standard" UI elements (WIMP, etc). You can call it a desktop app, and you'd be correct in the most pedantic sense, but then every web app is also a desktop app since you run it on a desktop.

Chrome the browser is a desktop application, websites you visit in it are not.

Re: The decline and fall of Java on the desktop

#164
In late 00s I've worked on a pretty big system using C++ and Qt3 for desktop ui.

For various reasons we moved to Java SWT. It was so much worse it's not even funny.

Part of it was the absurdly overengineered architecture we used. We moved from 2-layer PL/SQL + C++ app to 3-layer PL/SQL + J2EE + SWT but on SWT there were like 5 additional layers and most of the code was XML configuration on the UI side. That's not Java fault.

But part of it was just SWT API being so much worse than Qt. Signals and slots make observers and listeners look like ancient technology. The graphical design tools were so much better in Qt. The layouts in SWT sucked. Everything was worse and took more work.

Re: The decline and fall of Java on the desktop

#165
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.

Interesting, I'm not aware of any Java app that truly feels or looks native. I guess that there is definitely some selection biais, but do you have any examples of native-like Java Swing apps?

IDEA looked near-native (aside from docking/windowing that doesn't have system L&F anywhere) before they forced users away from system L&F.

Re: The decline and fall of Java on the desktop

#166

Earlier quoted context omitted.

Why should it change? Java is one of the most popular languages used today

As discussed in the article, it's slow and has compatability/portability issues. And I don't really want to play the log4j card, but...

Other than startup times, modern Java is not slow at all. In fact, it's way faster than many other popular languages today such as Python and Ruby.

Re: The decline and fall of Java on the desktop

#167
post #33

IMO the real decline was Oracle. Java used to be a slowly rising language and set of platforms with benevolent oversight from SUN and at least the outlook that it was one of a few things you might want to add after Microsoft's Windows or Apple's OS (Macintosh or later OSX). Then Oracle bought SUN and everyone knew all of the good would eventually be strangled out by the lawyers and models that sought to dominate and…

Same happened to MySQL. People run away screaming from anything Oracle touches.

Re: The decline and fall of Java on the desktop

#168
post #71

What happened in the years leading up to 2005, or perhaps in 2005 specifically that caused this blackout? Where did all of the Java desktop developers go? Before 2004, there was a much wider perception that web applications were fundamentally limited by their latency, and if you wanted a really rich, interactive user experience, like Winamp or Outlook, you had to make a desktop application. Then Gmail launched in 200…

My recollection is that nobody really had wifi or cable internet before about 2005.

Webapps over dialup was a complete non-starter, so you had to have desktop apps.

Re: The decline and fall of Java on the desktop

#169
post #16

Earlier quoted context omitted.

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

Winforms is dead, as in not cross platform and WPF...the same. WPF is declarative XML as is Xamarin Forms (both slightly different XML oddly). Not fun.

Microsoft's refusal to port WinForms is truly the most disappointing part of its cross-platform efforts, in my opinion. They have Mono, they can get it working, they just choose not to.

I wouldn't build a production application in WinForms, WPF and friends are much better for that. But, for quick&dirty or even moderately complex tools for experts, VS + WinForms simply has no equal. Some Python-based designers come close, but they definitely suffer when it comes to distribution.

With modern dotnet tech, Microsoft could allow us to build a (rather sizable) single, statically linked binary for any architecture, with the impressive performance of the dotnet JIT and native controls.

After working on Android designs, I've got to say, XML is fine for UI design. You need previews and visual inspectors to get an accurate idea of what you're doing, but describing what control lives where and what properties it has is a perfectly sensible use case for XML.

Re: The decline and fall of Java on the desktop

#170
post #16

Earlier quoted context omitted.

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

Winforms is dead, as in not cross platform and WPF...the same. WPF is declarative XML as is Xamarin Forms (both slightly different XML oddly). Not fun.

Winforms is undead.

We'll be writing WinForms applications in the 22nd century.

Post reply on HN