We’re also going to open source our iOS and Android implementations over the next couple months. We THANK YOU for filling out the survey forms we posted last month, these were of great value. A majority of you said you’d contribute to an iOS / Android port (either via bug reports or direct code contributions) and we’re working hard to be setup so that when the code is opened you’ll be able to start in on it. One aspect of this is fixing up our build / test setup so that it is trivial for people to build and test fixes on JavaFX (including us!). I’ve prioritized fixing the build / test system now so that we will be in a position to accept contributions at a more rapid pace. The first bits and pieces for iOS should be out next week, with the rest of iOS and Android coming out at about the same time as the rest of prism (there is some timing dependency there). Both our ports are based on an as-yet unreleased version of JavaSE Embedded for iOS/Android.
There have been some question about licensing on iOS as Apple doesn’t allow for GPL licensed applications in their app store. OpenJFX and OpenJDK are both licensed with the same GPLv2 with Classpath Extension. My understanding (and I’m not a lawyer) is that this means that if you take OpenJFX + OpenJDK (minus any binary stubs released under a different license), then you can safely combine this with your application and release your application under your own license as a single application co-bundle. You can do the same with the GA release of JavaFX + JavaSE. The difference is that we do not yet have iOS / Android on our official release roadmap, so that for the time being, the only way to use JavaFX on iOS is via OpenJDK / OpenJFX. I can imagine this would make open source guys smile (open source goes where closed source does not!). This is also why we’ve been prioritizing open source so highly for the last little while — when OpenJFX can be built without any binary stubs, then there is nothing stopping you from taking OpenJFX with iOS port + OpenJDK and creating commercial applications that can be sold in the iOS app store.
I am looking forward to seeing what you all will do with this contribution, and hope to be running many Java apps on my phone / iPad in the near future.
According to this there will be a full Java port? SWEET!
These versions of JavaFX apparently run on something called "Java SE Embedded", which according to the docs is "a large subset of desktop Java SE". The only APIs that are specifically mentioned are AWT and Swing - as not being available. For any other API it's anyone's guess. So, no - desktop Java apps will apparently not generally run on Android.
Ulf Dittmer wrote:These versions of JavaFX apparently run on something called "Java SE Embedded", which according to the docs is "a large subset of desktop Java SE". The only APIs that are specifically mentioned are AWT and Swing - as not being available. For any other API it's anyone's guess. So, no - desktop Java apps will apparently not generally run on Android.
Well I'm interested in what the "new version" that is unreleased will include, seeing as SE Embedded 7.0 came out in October, just around JavaOne, so we will have to see what's planned. I also thought in the Oracle forum post they were discussing lab tests of Java on iOS and Android, but they didn't specify it was Embedded, I thouhgt it was full Java. Honestly what's the point of FX's port if it wont be able to use GUI. Maybe it's just going to be the GUI we've needed. It's going tobe Open JDK and Open JFX, so I wonder what in Open JDK willl be used/allowed. I'm assuming AWT/Swing are present in there.
Joined: Mar 22, 2005
I'm assuming AWT/Swing are present in there.
Why? Since the announcement specifically said "Java SE Embedded" -which does not have AWT and Swing- there's no reason to assume that. But it didn't say "no GUI", as you seem to have read into it - obviously, JavaFX *is* a GUI, and there may be other GUI functionality yet to be revealed.