The last week has seen some discussion on the web related to the future of JavaFX. Many people got the impression that JavaFX will be put on ice by Oracle. This was primarily caused by a blog post written by Shai Almog (Codename One) called “Should Oracle Spring Clean JavaFX”. It was “inspired” by a blog that I had written a little bit earlier where I was emphasizing the benefits of JavaFX.
I believe that Shai simply tried to emphasize that Oracle could do more / could do better when it comes to JavaFX but the conclusion that some companies were drawing after reading it was that JavaFX is dead. This is simply not true.
Oracle’s Commitment
I have asked on the openjfx mailing list today for a statement from Oracle and Donald Smith was kind enough to reply. Donald is a Senior Director of Product Management at Oracle Corporation:
Oracle is still committed to JavaFX and it will still be around for a while.
As of 7u6 we bundled JavaFX with the Oracle JDK, we’ve open sourced 100% of the code, we continue developing for it, etc. I understand that
while there is both Swing and JavaFX available that people will continue to question the existence of each — so be it. Each has it’s own niches and benefits and our strategy, as it has been for years now, is to continue with each.– Don
Built Into JavaSE
JavaFX is part of JavaSE. This means that it is a core component of Java and that it will be installed wherever Java is installed. If I remember correctly then no API has ever been actually removed from Java, so why would anyone think that this will happen with JavaFX?
I received an email today from Shai where he is confirming this, too.
Once something is classified as a “product” (as JavaFX is) its there for the next 20 years.
Conclusion
JavaFX is here to stay and it is a great piece of technology if you want to implement a desktop client (fat / rich client). I have personally worked on several JavaFX projects for the last two years and I have seen my own JavaFX frameworks being used by others. So far each one of these projects has been a big success and JavaFX was able to equally convince the developers and the end users. It might not be ready for prime-time on mobile or embedded devices, yet, but with the current activities in these areas it might eventually become a major player there, too.
I’m afraid that JavaFX is *NOT* part of JavaSE. Do not mix the ability to be able to download JavaFX along side a JDK/JRE release for Windows/Linux/OSX directly from Oracle’s website; that’s just a convenience. The JavaFX APIS (as of JavaFX8u66) are not covered by a JSR, which hinders their inclusion into JavaSE proper (which does have a JSR and several JEPs). Clear information matters.
It’s true that no API has been removed (so far) from the JLS, but that may change once JDK9 is released. APIs will be able to be hidden behind modules using Jigsaw. There’s a new JEP that calls for better messages and hints for deprecation too, thus JavaFX APIs could be fully deprecated in the future should they prove to be inadequate or no longer supported. This last point is pure speculation on my part.
However I don’t see that happening any time soon, as the JavaFX community is quickly picking up the slack and is actively helping Oracle to obtain better results.
[…] Read more here: https://dlemmermann.wordpress.com/2015/11/30/javafx-is-here-to-stay/ […]
[…] by slartybartfast_ [link] [24 comments] Full article:JavaFX is Here to […]
JavaFX is great piece of technology no doubt, but I think Oracle has already gave up on this a long time ago.
Just because it’s bundled in the JDK doesn’t show any commitment, fixing the bugs and putting some more resources plus spend some on Marketing/Evangelism on it will show better commitment.
Throwing this technology on the community and expect this to grow won’t make it successful, so yes JavaFX is here to stay, but how many will actually use it?
[…] Lemmermann has two posts this week. Firstly, a post titled ‘JavaFX is Here to Stay!‘, and secondly a post titled ‘Cool: JavaFX in the Browser!‘. I think both titles […]
[…] Lemmermann has two posts this week. Firstly, a post titled ‘JavaFX is Here to Stay!‘, and secondly a post titled ‘Cool: JavaFX in the Browser!‘. I think both titles […]
I don’t feel like anyone gave up on JavaFX. Some ideas behind V1 were maybe given up – and it was damn right to do so. Anyway, there are still too many pitfalls and bugs to be really productive using JavaFX for richt client applications. Some of those annoying issues soon will be old enough to go to kindergarden and some don’t even have practical workarounds. There’s no doubt Airbus has the resources to write a feature-richt desktop application in Brainfuck. I don’t want to hear that Airbus successfully uses JavaFX – that doesn’t count! It counts if a single developer or a small team can actually be productive. It counts if new ideas can be implemented to be reality within a reasonable time without breaking end-users habits.
That said, I’d like to emphasize that I rely on a positive development in this area – how ever it may look like. I’m responsible for IT in three companies. Two of them currently develop RIA completely JavaFX-based. One will be some kind of CRM system, the other one is going to offer a client app in the area of psychological consultation for people in the first three years of parenthood for desktop and mobile devices. The third company uses a JavaFX-based application in production to control a high frequency trading system.
We trust in a positive future of Java-based technologies – especially JavaFX. We love them from a rather nerdy point of view and as serious business technologies. And we just hope that we’ll not get disappointed by some guys in grey suits that’ll prevent Java enthusiasts to develop modern, SOTA desktop software.
I have to use Java for one of my projects and i chose Java FX over Swing. And i can tell you, this is frustrating. After spending years with Microsoft XAML and now Angular i see Java FX as a hobby project. In JDK 1.8 in year 2015 Java FX is missing some basic controls like NumberInputField with Range checks. Validation is totally missing ( and it must be a part of Framework not some library). The Scene Builder is a bad joke.
In the rise of Javascript Frameworks like Angular2, ReactJS there is no reason to build RIA in some proprietary stack. I also have running large commercial app in Silverlight (intranet) and despite the huge productivity win writing the C# in browser my next projects are all Html/Javascript based. Even for cross-platform Desktop apps i would choose technology like Electron.
If anyone can make Java FX suck less on the desktop, in next 5 years it would be huge improvement. But right now Java FX is immature.
Trying to run Java FX in browser is just proof of concept hobby work (Java FX doesn’t support html media queries for responsive design, html input types……. )
peter
Why would run JavaFX in a browser?
Doesn’t that defeat the purpose?
I would think you would use JavaFX for the Mobile, Desktop apps, IoT apps.