Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Is JavaFX Dead?

 
John Tsioumpris
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello to everybody....
For the past year i have being working with JavaFX for diploma thesis and it played a more than substantial part in the final outcome...
Naturally i was planning to get a even more familiar for my future plans and learn it even more ....
BUT....
i read a lot of posts around the Net that JavaFX is rather dead and probably it would get abandoned in the coming releases of Java...
So i am asking ...should i continue to work with JavaFX or abandon it in favor of another (Swing ?)
 
Karthik Shiraly
Bartender
Posts: 1210
25
Android C++ Java Linux PHP Python
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Calling it dead would be extreme. Oracle has not pulled the plug nor has it said officially that it'll do so.
It's true that Oracle has laid off some JavaFX evangelists, discontinued Scenebuilder official binaries and perhaps other negative actions I'm not aware of.

But the open source master which Oracle too packages in its official JRE is still under active development.
So, literally speaking, no it's not dead. I'd say it's in a similar limbo as Swing, JMF and many other frameworks, where efforts of 3rd parties, users and maintainers outweigh Oracle's own.

IMO, if you are able to build great products with it, continue using it.
All desktop toolkits - regardless of language - have turned into niche software due to web and mobile, and JavaFX is no different.

But if you are asking about it from an employment skills point of view, I feel you should not specialize in it.
 
John Tsioumpris
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Given the fact that i got a single answer and the number of threads/answers compared to other Java technologies i think is more than safe to consider JavaFX dead for sure and move on.....too bad i wasted so much time getting into this technology...
 
Jason Bullers
Ranch Hand
Posts: 111
8
Clojure IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I can't imagine them killing JavaFX any time soon, not after integrating it into the JDK for Java 8. There's a lot about FX that's an improvement over Swing, so it wouldn't make sense for them to abandon the better GUI toolkit. It's possible that Oracle might scale back their involvement in evangelizing or on building tools like Scene Builder, but I suppose third parties could pick up the slack on that.

Maybe I haven't been looking in the right places, but I can't recall any big hype about Swing for a long, long time, and that's been chugging along just fine (until JavaFX was declared the shiny new thing).

Don't forget that Java 8 is still relatively new, and IMO, JavaFX isn't worth migrating to until you have Java 8. Big companies will definitely need time to migrate if they choose to do that, and third parties need time to build up the surrounding ecosystem.
 
John Tsioumpris
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jason Bullers wrote: Java 8 is still relatively new, and IMO, JavaFX isn't worth migrating to until you have Java 8.

Well you are right but a winner is getting the first place right from the start...to me i see very limited threads,few books and somewhat indifference from the Oracle's side...
The abandonment of Scene Builder was a clear indication that JavaFX is not getting the attention it should...
well HTML5/CSS can handle most of the current UI demands and its universal so i guess we can kiss desktop GUIs goodbye....i know i must do so...
Too bad that JavaFX/Scene Bulder was a clean and easy solution for great desktop apps....
 
Karthik Shiraly
Bartender
Posts: 1210
25
Android C++ Java Linux PHP Python
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Too bad that JavaFX/Scene Bulder was a clean and easy solution for great desktop apps....

What exactly about Oracle's dithering makes you hesitant to use JavaFX? Is it the possible lack of support or bug fixing in future?
I might have agreed if JavaFX was closed source, but it's completely open source with a GPL license.
Even if Oracle pulls out completely and stops all development, they can't retroactively revoke the license already granted upto that version.
Anybody who likes it can pick it up and continue developing.
As I see it, it's a good framework, it's completely open source (even the native graphics layer), and it has an active, if small, development community. Honestly, I fail to see the problem here.
Of course, if you have already made up your mind, that's ok too.
 
Steffe Wilson
Ranch Hand
Posts: 165
12
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'd be disappointed if JavaFX went away because I felt the v8 release was a big improvement over v2. The removal of Scenebuilder binaries is hard to fathom because I thought that was a significant part of FX's advance and its a strange signal to put out there whilst trying to persuade people to jump on board.
 
John Tsioumpris
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Karthik Shiraly wrote: if you have already made up your mind, that's ok too.

I can't say that i have made my mind but i am in the middle of a crossroad and i have a decision to make ....
either stick to Java/FX or turn to NodeJs/Js ...i am afraid i am rather old and i don't have room for a 2nd chance
 
Karthik Shiraly
Bartender
Posts: 1210
25
Android C++ Java Linux PHP Python
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
John Tsioumpris wrote:I can't say that i have made my mind but i am in the middle of a crossroad and i have a decision to make ....
either stick to Java/FX or turn to NodeJs/Js ...i am afraid i am rather old and i don't have room for a 2nd chance

From an employability / relevance point of view, my personal opinion is to look towards JS / NodeJS and other web technologies in general.
I suggest you also put up a post in our Jobs Discussion forum regarding what web technologies to specialize in.
One good news is, if you personally like desktop apps (like me), you can combine your already acquired JavaFX skills with your new JS skills in the WebView control, and write hybrid apps.
 
John Tsioumpris
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Well another bad sign
http://www.oracle.com/webfolder/technetwork/jet/index.html
 
Tim Moores
Bartender
Posts: 3135
50
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I don't think the open source nature of it makes any difference at this point. Client-side Java is dead in general, irrespective of the framework it runs. Security concerns of the JVM have finished it off. Some companies may continue to use it internally on carefully controlled and updated machines, but not for anything that's meant for the general public.
 
Karthik Shiraly
Bartender
Posts: 1210
25
Android C++ Java Linux PHP Python
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I don't feel JVM security was ever an issue for the general public. It was Flash that provided the rich web experience for most of the last decade. Applets never became popular. When JVM vulnerabilities became a notorious issue, all 3 major browsers decided improving JVM security was just not worth the effort and simply downgraded their support for embedded JVM, making applets history.

I can't remember even a single java desktop or applet application that became popular with the general public, even in the heydays of Java and desktops.
It appears to me as if JavaFX is being held up to a mythical standard that Swing never reached - not even close - despite nearly a decade of popularity in the enterprise space.

My data is purely anecdotal, but I feel java and Swing became popular in the enterprise due to the prevailing development environment then. The period around 95-2007 was when Microsoft Windows desktop was king. The choice was between their desktop frameworks such as C++ based MFC or VB based VB / VB.NET
. C++/MFC was powerful but complex. VB was disliked by enterprises as a "toy". C#, .NET and Windows forms only took off somewhat around 2006-2007. Whatever the choice, MS dev tools cost a lot of licensing $$$.

The alternative was Sun's free JDK, JVM and the much easier Swing framework. It was also cross-platform, which was nice though mostly useless since desktop was dominated by Windows. Swing was a no-brainer decision for enterprises.

Then around 2007-2010, Apple and Android smartphones took off and neither supported Swing or JVM.
Google came up with standards-compliant Chrome and as IE's share increasingly declined, it was no longer a pain to develop massive web applications and reach a substantial user base.
Ajax and CSS enabled webapps to become single page apps with a desktop like experience.
Resource heavy java applets or flash were no longer necessary for a rich web experience.

So out with Java and Swing from the average Joe's desktop. When Swing itself didn't take off, no point investing in JavaFX taking off.

One place where client side java is still going strong on the desktop is with us developers who still use our Java based (Eclipse | Netbeans | IntelliJ | Android Studio), ironically for developing all those non-java applications.

The other place where it remains popular is enterprise (again anecdotal experience; data on internal applications probably doesn't even exist anywhere).
But they are not migrating to JavaFX because their developers are taught Swing, not JavaFX, and Swing is usually "good enough".
 
Stevens Miller
Bartender
Posts: 1377
28
C++ Java Netbeans IDE Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Tim Moores wrote:Client-side Java is dead in general...

Wow, that's quite a statement, Tim. What makes you think so?
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65338
97
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Stevens Miller wrote:
Tim Moores wrote:Client-side Java is dead in general...

Wow, that's quite a statement, Tim. What makes you think so?


If by that he's referring to Applets, then I agree with him.

They were (in my opinion) a bad idea to begin with, and today, with most browsers disabling them by default, are now stuck in the tar pits with the mastodons and smilodons.

General end users aren't going to jump through hoops to enable Java on their browsers, especially when accompanied by scary security messages that they don't fully understand, in order to enable applets in their browsers.

If he means desktop applications, that's more debatable, but has always been a much smaller market than the server-side Java powering the web.
 
Stevens Miller
Bartender
Posts: 1377
28
C++ Java Netbeans IDE Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Bear Bibeault wrote:
Stevens Miller wrote:
Tim Moores wrote:Client-side Java is dead in general...

Wow, that's quite a statement, Tim. What makes you think so?

If by that he's referring to Applets, then I agree with him.

Oh my, yes. If that's what he means, he's right. I was taking his usage of "client-side" as "other than server-side." Perhaps I'm mistaken.

If he means desktop applications, that's more debatable, but has always been a much smaller market than the server-side Java powering the web.

Yeah, also agreed. What I'm wondering about is how popular Java is today as a language for creating desktop applications, compared with other programming languages.
 
Karthik Shiraly
Bartender
Posts: 1210
25
Android C++ Java Linux PHP Python
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What I'm wondering about is how popular Java is today as a language for creating desktop applications, compared with other programming languages.


Not very...atleast among CodeRanch members. http://www.coderanch.com/t/658288/md/Poll-develop-maintain-desktop-applications
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65338
97
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Stevens Miller wrote:
Yeah, also agreed. What I'm wondering about is how successful Java is doing today as a language for creating desktop applications, compared with other programming languages.

Good question, and from a developer standpoint, I'm certainly not sure of the answer as my sphere has been the web for the past two decades.

But from the end user view, certainly most desktop apps seem to be written in whatever language and framework is native to the target platform; e.g. ObjectiveC/Swift for OS X and so on, even if they have a version that runs on multiple operating systems. I don't see a lot of applications that are written in Java as cross platform applications.

I do know of a small handful of cross-platform tools written in Java, but they seem to be in the vast minority.
 
L Foster
Ranch Hand
Posts: 185
10
Android Java Netbeans IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello, all,
I thought I would weigh in, here. First, it's great to see all this input.

Where I work, we have a Java desktop (Swing standalone) application that has evolved through multiple iterations, over a span of about 15 years. Our application needed a framework, and this one was open source, so we adapted it from one graphical, large data application to another. It is run mainly behind the firewall, deals with a lot of large image files that need 3D rendering, plus internal database storage. There are alternative applications which originated elsewhere, but those are...guess what...usually based on C/C++. The WORA and some of the productivity advantages make a definite advantage (although there are decidedly leaks in the WORA abstraction). We have been able to get most of our features working on Windows, Linux and Mac OSes, as well as something called EnginFrame. Recently, we have had to reconsider supporting all those, because this is a resource-hungry application, and we have users who have adopted only certain platforms. In keeping with the discussion, however, we have not adopted any plans to move this to JavaFX. However, JavaFX's spreading umbrella now includes Swing for the forseeable future.

Another app in a similar vein is NCBI's FIJI/ImageJ. Also image processing. Also Java/Swing/standalone. Still another is the CLC Workbench app. That one has (had--it has been a few years since I worked on that one) its own proprietary plugin architecture.

I have an application I developed in 2005, that utilized Java3D. That, IMO, is a dead technology. But what has killed it, has been a migration to JavaFX. JavaFX has support for 3D built into it. Earlier, I had begun the process of porting my app to JavaFX, but have gotten busy with other things. I have also ported the app to Android/OpenGL. Since it is already in JOGL/OpenGL ES, I sometimes question whether it is worth doing the FX port. I had hoped it would be a more direct change. JOGL was not originally object-oriented. My biggest problems with standalone for this one, is that the whole Java3D thing makes it 10x more difficult for end users to download and use it (it is open source, at SourceForge).

Bottom Line: I like to be able to use 3D and accelerators from a Java code standpoint. I know 3D is possible from JavaScript/HTML5, but so far, I have not seen it as powerful as I have from the desktop apps.
 
Tom Nielson
Ranch Hand
Posts: 53
2
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
"Dead" is such a relative term. Some developers, often being passionate people, are often fond of proclaiming on a blog post "[put technology here] is dead". People have been saying Java is dead for over a decade.

That being said, I am professionally a Swing/JavaFX developer for my company. We are not a vendor and we build a lot of in-house applications for our employees in Swing, and we already migrated to JavaFX. We have used Kotlin, RxJava and any other resourceful library we can get our hands on. We've made millions of dollars for our company with these software "tools" to support our business operations.

When you make a software that is only used by 20 employees in your own company, it hardly makes sense to distribute it as a web application. Such complexity and overhead is overkill. Putting a JAR file out on a network drive is so much simpler. You have to consider also companies like mine do not report using JavaFX or Swing, much less the fact we are building in-house applications.

Vendors have every financial incentive to move businesses to the cloud. I think this is why Oracle laid off many of its JavaFX evangelicals. They're chasing a new cash cow in cloud and want businesses to hand over the reigns to vendors. I hardly see that happening with how complicated, fragmented, and niche technology is becoming. People are always going to use what works, and the vendor's "Vanilla Flavor Cloud Solution" is not going to fulfill every single niche business need. That is why shadow IT development is becoming rampant.

I am embarking on learning Play web development but that is only for my personal growth and as a backup just in case the cloud becomes inevitable. Cloud may have overtaken desktop to some degree, but it hasn't stomped it out. That will only happen when vendors and IT departments are able to fulfill every one of our niche computing needs, and currently that is FAR from happening.
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65338
97
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
While I agree with much of what you posted, I disagree with:
Tom Nielson wrote:When you make a software that is only used by 20 employees in your own company, it hardly makes sense to distribute it as a web application.


I can bang out a complex web application a lot easier and quicker than I can learn JavaFX. Your statement is only true for companies that have resources that already know JavaFX and can whip a desktop application faster than a web app. Companies that already have web application expertise are a different matter.

Our small company, where the users of any internal app likely number two dozen or less, finds it far more efficient to use web apps over desktop apps.

There's also the whole discussion regarding versioning and deployment points, but that's been discussed to death elsewhere and I won't repeat here.


 
Tom Nielson
Ranch Hand
Posts: 53
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Bear Bibeault wrote:While I agree with much of what you posted, I disagree with:
Tom Nielson wrote:When you make a software that is only used by 20 employees in your own company, it hardly makes sense to distribute it as a web application.


I can bang out a complex web application a lot easier and quicker than I can learn JavaFX. Your statement is only true for companies that have resources that already know JavaFX and can whip a desktop application faster than a web app. Companies that already have web application expertise are a different matter.

But our small company, where the users of any internal app likely number two dozen or less, finds it far more efficient to use web apps over desktop apps.

There's also the whole discussion regarding versioning and deployment points, but that's been discussed to death elsewhere and I won't repeat here.





That makes sense, and that's impressive and surprising to me. What does your web stack look like?
 
Stevens Miller
Bartender
Posts: 1377
28
C++ Java Netbeans IDE Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Bear Bibeault wrote:I can bang out a complex web application a lot easier and quicker than I can learn JavaFX.


Does choosing not to use JavaFX imply a Web app? Swing works fine on desktop apps. I think we're mixing up some of the issues here. Applets are dead outside of a controlled environment, for security reasons. In a corporate context, some people still say they make sense because it is easy to deploy and upgrade applets, and one can (or should) be able to trust the corporation's own applets.

I took Tom's point about using jar files instead of Web apps in a small corporate setting as not a choice between Web apps and JavaFX, but a choice between Web apps and desktop apps.

 
Tom Nielson
Ranch Hand
Posts: 53
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Stevens Miller wrote:
Bear Bibeault wrote:I can bang out a complex web application a lot easier and quicker than I can learn JavaFX.


Does choosing not to use JavaFX imply a Web app? Swing works fine on desktop apps. I think we're mixing up some of the issues here. Applets are dead outside of a controlled environment, for security reasons. In a corporate context, some people still say they make sense because it is easy to deploy and upgrade applets, and one can (or should) be able to trust the corporation's own applets.

I took Tom's point about using jar files instead of Web apps in a small corporate setting as not a choice between Web apps and JavaFX, but a choice between Web apps and desktop apps.



Yeah I think you are right we are confusing contexts. I am not talking about JavaFX for web apps. I think JavaFX is definitely dead on that front. But for simple "Here is your playable JAR file" which runs desktop applications, it works great. So maybe we should clarify if the debate is "Is JavaFX as a desktop application dead?" vs "Is JavaFX as a web technology dead?"
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65338
97
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Tom Nielson wrote:That makes sense, and that's impressive and surprising to me. What does your web stack look like?

For which project? Varies pretty widely.

I'll pick one of the more complex ones as an example:
RESTful API on server: Play 1.2 with Java. (So Hibernate et al).
Client: SPA with AngularJS, jQuery, Bootstrap, et al
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65338
97
IntelliJ IDE Java jQuery Mac Mac OS X
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Stevens Miller wrote:
Bear Bibeault wrote:I can bang out a complex web application a lot easier and quicker than I can learn JavaFX.

Does choosing not to use JavaFX imply a Web app?

No, but I was addressing his specific point about web apps "no making sense" for a small audience.

Stevens Miller wrote:I took Tom's point about using jar files instead of Web apps in a small corporate setting as not a choice between Web apps and JavaFX, but a choice between Web apps and desktop apps.


Could be. But it doesn't change my reply at all. I don't think desktop apps vs web apps is a factor of audience size.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic