4 ms·
Java on the desktop died because it didn't provide a native enough look and feel and it performed too slowly. Now we just don't care about look and feel and pre
by flukus 9y ago
Java on the desktop died because it didn't provide a native enough look and feel and it performed too slowly. Now we just don't care about look and feel and pretend every user has 16GB of RAM like the developer machines do.
- relyks 9y agoJavaFX is actually pretty good and the performance is much better than Electron.
- brandonmenc 9y ago> and pretend every user has 16GB of RAM I currently have two separate JetBrains IDEs each with multiple projects opened on my 8 GB MacBook Air. Doesn't seem to be a problem.
- flukus 9y agoI was talking more historically. Java was slow and fell out of favor at a time when the average desktop had 16MB of RAM (and many had less). It never recovered from that perception and was pretty much confined to server side tasks. Now developers are working on electron apps and the average machine with 2GB makes an electron app today feel like a java one from 20 years ago.
- pvg 9y agoAll the IntelliJ environments are Java based and seem reasonably well-liked. So it seems alive and well, in its niche.
- pjmlp 9y agoJava on the desktop died because most developers were too lazy to learn how to use Swing properly, while writing everything on the UI thread.
- flukus 9y agoI don't buy that excuse, it never affected winforms or vb take-up that often had the same issue.
- pjmlp 9y agoFirst of all you are talking about OS SDKs, first class platform languages designed by the OS owners. Second anyone that bothered reading Filthy Rich Clients book should be capable of doing a WinForms like experience. What I conceed is that Swing has the wrong defaults and requires more UI design skills from devs than Forms does.
- pssdbt 9y agoExample of a properly done Swing app? Not trolling, genuinely curious to see what that looks like (code + result). I also assumed it was because they perform terribly and look non-native.
- riffraff 9y agoThe IntelliJ stuff is Swing IIRC, but not open source. jEdit, IIRC, was often mentioned as a properly written java GUI app, I think it's Swing, but I might be wrong. EDIT: IDEA code is apparently open https://github.com/JetBrains/intellij-community https://github.com/JetBrains/intellij-community
- pjmlp 9y agoBitwig Studio, https://www.bitwig.com/en/bitwig-studio.html https://www.bitwig.com/en/bitwig-studio.html Booksmart. http://www.blurb.com/booksmart http://www.blurb.com/booksmart Ultramixer, http://www.ultramixer.com http://www.ultramixer.com jAlbum, https://jalbum.net/en/ https://jalbum.net/en/ VRL Studio, http://vrl-studio.mihosoft.eu/ http://vrl-studio.mihosoft.eu/ Centigrade UI Components, http://www.centigrade.de/en/products/bizlaf-stock-look-and-feel http://www.centigrade.de/en/products/bizlaf-stock-look-and-f... Synthetica UI Components, http://www.javasoft.de/synthetica/ http://www.javasoft.de/synthetica/ JGoodies UI Components, http://www.jgoodies.com/products/smart-client/ http://www.jgoodies.com/products/smart-client/ SQL Developer from Oracle is also quite ok. The sample applications developed on the "Filthy Rich Clients" book, http://filthyrichclients.org/ http://filthyrichclients.org/ You can watch the related JavaONE 2008 session at http://www.oracle.com/technetwork/java/j1sessn-jsp-155597.html http://www.oracle.com/technetwork/java/j1sessn-jsp-155597.ht... Oh and MATLAB is also a Swing application.
- pyrophane 9y agoHas the latter problem been solved? Jvm startup times still seem like an issue to me.
- niftich 9y agoThe JVM isn't actually slow to start [1] (albeit it does start about 3x-4x slower than python, ruby, or node) [2]. Most of the slow startup in a JVM-based application is in classloading [3] or waiting for your chosen framework to initialize [4] before the control is handed to your custom code. [1] https://purelyfunctional.tv/article/the-legend-of-long-jvm-startup-times/ https://purelyfunctional.tv/article/the-legend-of-long-jvm-s... [2] https://dev.clojure.org/display/design/Improving+Clojure+Start+Time https://dev.clojure.org/display/design/Improving+Clojure+Sta... [3] http://blog.ndk.io/clojure-bootstrapping.html http://blog.ndk.io/clojure-bootstrapping.html [4] https://jkutner.github.io/2015/12/01/java-boot-time.html https://jkutner.github.io/2015/12/01/java-boot-time.html
- imron 9y ago> Java on the desktop died because it didn't provide a native enough look and feel and it performed too slowly Not to mention end users needed to download and update hefty runtimes in order to run the software.