Hi all,
Note that I'm not a C developer so I don't feel able to provide any patch to OpenJDK, that's why I send this mail to hopefully motivate some more competent people to solve some issues we have ;)
In the context of development of Eclipse/SWT-based applications, I'd like to share with you one of the issues we have currently. It's about SWT vs JavaFX and GTK3 vs GTK2. SWT and JavaFX can theorically live together in the same application ( http://docs.oracle.com/javafx/2/swt_interoperability/jfxpub-swt_interoperabi... ). This is interesting because JavaFX provide a nice WebView, which we could embed in Eclipse as an alternative/complement to invoking XulRunner or Webkit wrapper when rendering web pages in Eclipse. However, SWT is moving to GTK3 whereas JavaFX is still stuck on GTK2. So both can't coexist properly in the same application. Apparently, only the fx-glass module needs update, so it doesn't seem to be a too difficult task to change code to use GTK3 instead of GTK2. However, in this message https://www.mail-archive.com/openjfx-dev@openjdk.java.net/msg05966.html , it's said that JavaFX can't move to GTK3 because the Swing/AWT part is also linked to GTK2, and since both are shipped together, it doesn't make sense to introduce inconsistency between different JVM "modules". So it seems like if we want to align JavaFX on GTK3, it also requires to move AWT to GTK3.
Do any of you have already investigated those issues? Does anyone already has plan to provide fixes for that?
Cheers,
On Tue, 2014-10-14 at 10:21 +0200, Mickael Istria wrote:
Hi all,
Hi Mickael,
In the context of development of Eclipse/SWT-based applications, I'd like to share with you one of the issues we have currently. It's about SWT vs JavaFX and GTK3 vs GTK2. SWT and JavaFX can theorically live together in the same application ( http://docs.oracle.com/javafx/2/swt_interoperability/jfxpub-swt_interoperabi... ). This is interesting because JavaFX provide a nice WebView, which we could embed in Eclipse as an alternative/complement to invoking XulRunner or Webkit wrapper when rendering web pages in Eclipse. However, SWT is moving to GTK3 whereas JavaFX is still stuck on GTK2. So both can't coexist properly in the same application. Apparently, only the fx-glass module needs update, so it doesn't seem to be a too difficult task to change code to use GTK3 instead of GTK2. However, in this message https://www.mail-archive.com/openjfx-dev@openjdk.java.net/msg05966.html , it's said that JavaFX can't move to GTK3 because the Swing/AWT part is also linked to GTK2, and since both are shipped together, it doesn't make sense to introduce inconsistency between different JVM "modules". So it seems like if we want to align JavaFX on GTK3, it also requires to move AWT to GTK3.
Do any of you have already investigated those issues? Does anyone already has plan to provide fixes for that?
I wouldn't call them "plans", but we're preparing a few things, like OpenJFX into Fedora and a GTK3 look and feel. When those things will be ready? Well, there's a bunch of issues we are addressing and it will take a bit of time, but at least the process started.
Also, GTK3 won't substitute GTK2 because there's a number of applications which will have to be supported in the long term, the GTK2 is (unfortunately) part of the official look and feels, and this means it won't just go away.
I know there's plan (and I think it has been done already really) to make GKT2 optional in recent OpenJDK builds, that means that the library is only dlopen'ed if it's needed, this is a work being done by Andrew Hughes, you should be able to follow it in the IcedTea repository as well as upstream (I can't remember the bug links out of my mind, but you can try searching them in IcedTea bugzilla) .
There's the task of integrating the whole, this is enormous really, OpenJFX, OpenJDK and Eclipse are all very complicated piece of software and is not easy to make everything talk to each other correctly.
When we will have OpenJFX in Fedora, we can start fixing the necessary bits to use GTK3 or 2 based on the system it's running on.
So, lots of work, and it will be surely faster if we get people to help [1] ;)
Cheers, Mario
[1] And it may be enough time for you to become a C developer ;)
java-devel@lists.fedoraproject.org