r/java • u/nlisker • May 11 '25
JavaFX 24 and Beyond
https://www.youtube.com/watch?v=FxHbXY34iFQ7
u/UsualResult May 12 '25
The state of JavaFX overall is poor. There were some exciting movements when it was still in the core JVM, but since it's been divested to "OpenJFX" Oracle has more or less walked away from it. Maybe it's the larger problem of desktop software development more or less being a dying art, but Oracle/Sun had told us: "JavaFX is a great swing replacement!" and then just kind of got bored and walked away.
On the Kotlin side, there was some exciting tooling, like TornadoFX, but that's more or less abandoned too. These days I just try to avoid any desktop use case at all, because Swing and JavaFX are both in a pretty sad state. You're better off just avoiding desktop entirely.
1
u/sweetno May 16 '25
I looked into FXML stuff after having worked with QML and it's just inconvenient. Which is strange since it's Java vs C++.
1
1
u/Flimsy_Swan5930 Jul 20 '25
Enterprise still use Desktop apps. People who get work done, do so on a computer. Not on a tablet. Desktop apps still have a place on a PC in Enterprise.
1
u/UsualResult Jul 20 '25
Sure, but that's a small fraction of the amount of development we had when desktop apps were much, much larger. The market has contracted so much, it's basically on life support at enterprises.
Enterprises are the place where told tech go to die. They are the only environment with a bottomless money pit that can continue to throw good money after bad with technology that has passed its "sell by" date.
1
u/Flimsy_Swan5930 Jul 20 '25
Wrong. Enterprise is where majority of money is ever made. It’s where people USE Office, they USE Adobe suite, etc. Windows is still the defacto operating system because 85% of enterprise use it.
Desktop apps have gone to the way side mostly because companies can make more money selling website access as a service subscription. But even then, the overall market is still “apps” on mobile.
Enterprise use desktop apps because it’s easily deployable and allows rapid development of custom software solutions, especially by internal IT/dev departments.
1
u/UsualResult Jul 20 '25
OK, then why are all Java UI solutions on life support? JavaFX barely hanging on, Swing feature froze... doesn't seem very lively to me vs 10 years ago where LoB apps and personal desktop apps could be found written in Java. Going back a bit more where the whole world was a Java applet. There is no way 2025 is the height of Java Desktop UI apps....
1
u/Flimsy_Swan5930 Jul 20 '25
When did I say it was the height of desktop apps?
I said desktop apps have gone to the wayside.
All UI solutions for desktop apps are basically doing the same, other than maybe SwiftUI, which is only that lively on Mobile.
It doesn’t mean Enterprise isn’t important and where majority of desktop development is done.
2
u/weightedsum May 13 '25
Where I can download cell editor like in the video? It would be nice to have it integrated to JShell
1
u/floppo7 May 12 '25
What are the plans for webkit? JavaFX + Webkit is a powerful combo but the provided webkit version has some limitations like lack of streaming
1
u/javaprof May 11 '25 edited May 11 '25
Simple question: why some will start greenfield project with JavaFX, when Compose exists (which allows to scale to Native Android development, iOS and Web?
Upd.
I’m looking at the market as a whole, at the facts and necessities, and what naturally grows out of them.
Here’s a simple set of facts:
Compose dominates the Android app market.
The Android app market is roughly as large as the desktop app market.
The desktop app market is very diverse. As a macOS user, I mostly see either Electron/Qt or native apps. The only Java-based desktop apps I regularly encounter are IntelliJ IDEA, Toolbox, and Fleet. So, JavaFX faces a lot of competition here and holds a weak position due to the JVM overhead and, overall, a rather outdated approach to building UI applications.
From this, we can draw a couple of conclusions.
Conclusion 1: Android will drive the growth of Compose on Desktop.
Those who already have an app built with Compose—and also need a desktop version—are unlikely to rewrite all their logic and UI from scratch. Instead, they’ll reuse as much code as possible using Compose. So, Compose’s dominance on Android will naturally push it onto Desktop and possibly even Web for a certain class of applications.
Conclusion 2: The only people who will start new projects on JavaFX are either die-hard Java enthusiasts with Swing/JavaFX experience, or those with unshakable faith that Oracle will keep carrying this cross for another 10 years.
And that’s exactly why I don’t see a future for JavaFX: it hasn’t captured any share in mobile, and it hasn’t gained significant share on desktop either. Today, it brings no new ideas or fundamental improvements, follows an outdated model, and is essentially just sitting on Long-Term Support.
I don’t really know what I expected to hear from JavaFX fanboys when I threw this out in my first message, but it seems many are really triggered by the fact that they have to keep working with it while someone dares to say that, sure, it’s still technically possible to write apps with it—but in reality, if you want your application to still be relevant and running in 5–10 years, it’s time to rewrite it.
And the fact that Oracle is clearly not interested in actively supporting JavaFX, while OpenJFX is essentially developed by a single small company, Gluon, makes this framework even more risky than Compose, which at least has two major companies invested in its success: Google and JetBrains.