4 ms·
I’ve always wondered why Java didn’t take off more for desktop apps. Was it a compromised user experience vs native apps? Was Swing bad to work with? Did Web 2.
by brundolf 5y ago
I’ve always wondered why Java didn’t take off more for desktop apps. Was it a compromised user experience vs native apps? Was Swing bad to work with? Did Web 2.0 come in and steal the show right when it was starting to gain traction?
- Longhanks 5y agoWell, do you consider Electron a compromised user experience? Swing is/was the same, and computers had way less power to make up for it in the early 2000s.
- brundolf 5y agoI don’t personally, but what matters here is that Electron has taken off and Java-for-desktop didn't seem to really. Maybe it was the tech, maybe it was user expectations at the time, but something was different. I’m just curious what that was.
- pmontra 5y agoIt was a PITA to manage for end users. They had to install the JVM and update it when the JVM updater told them so. Many people didn't update (slow connections for a file size comparable to today's one, no time, etc.) Then the application had its own non native widgets and was noticeably slower than native ones. Then (more importantly IMHO) developers discovered that HTML interfaces were good enough even 25 years ago and being able to update a web application (they were no app back then) even only once per month was so much better than having to distribute thousands or millions of copies of a desktop application. Game over. BTW that was web 1.0.
- mr_tristan 5y agoI think it's the core, the 2D engine, just never got the love it needed to be a great place to start. Nobody seemed to prioritize making that happen. Like, the antialiasing was noticably fuzzy. I never found an applet that looked like it belonged on the webpage. And when I built a few, it was a lot of work to even get font rendering to not be horrendous. And even then, you'd see what the browser rendered vs what the applet rendered and they were always off. I remember using images instead of font rendering sometimes. So, if you made a swing app, it was easy to put together, but hard to make look "professional". By the time of the Oracle acquisition, I'm pretty sure everyone just realized the browser and mobile "won" and that's why we just had JavaFX get broken off the platform and basically put out to pasture. But it's not like much went into the core platform itself to make building great UIs easy. The underlying 2D rendering just a great place to start. I mean, even today, there's some serious performance issues with IntelliJ on 4k monitors with scaling. https://youtrack.jetbrains.com/issue/JBR-526 https://youtrack.jetbrains.com/issue/JBR-526 When I look at where JetBrains is going, it sure seems like they are building on top of a better 2D engine, in this case, skia: https://github.com/JetBrains/skija https://github.com/JetBrains/skija.
- matwood 5y agoI wrote a Java Webstart app for internal users way back when. It was harder to work with and not as end user friendly as what I could create in VB5. Of course all my internal client were on Windows so VB was an option. Then the web came in and stole the show. Even a slower web app was so much faster to develop and push out to 10k internal clients (that was a lot then hah).
- notJim 5y agoAs an end user, the UX was always goofy. If the devs made a lot of effort, it could look like a bad impression of a native app, but never exactly right. As soon as you'd hit an error state or edge case, you'd see some weird ass Java-looking error. Electron is different, because we all got used to web apps, and electron apps are just web apps.
- zaphirplane 5y agoI never got why a web application with custom layout view is ok but a swing one looks funny I get the browser controls look native but still as a whole they also look different from a desktop application
- corpMaverick 5y agoBecause Microsoft killed it. Through IE, Microsoft controlled what you could run in the browser and they refused to upgrade the embedded JVM. Java Applets started becoming popular but then they stagnated. Microsoft control was broken when Google decided create Chrome. Chrome is what allowed javascript to flourish.
- listenallyall 5y agoI think that is glossing over some important details. Sun sued Microsoft repeatedly, and eventually stopped licensing Java to Microsoft. "Upgrading the embedded JVM" was not a user-friendly mandate... think of how annoying "upgrade" or "new version available" notices are today... now consider the same over a 14.4k modem. And finally, most Java applets sucked. Very few were "popular". They looked weird, non-native, had unfamiliar icons and menus, and were often slow.