Oracle Open Sourcing JavaFX, Including iOS and Android Ports
hypnosec writes "Oracle is going to open source JavaFX ports for Android and iOS soon as a part of its efforts to open source the framework. JavaFX, destined to replace Swing GUI library as the default method to develop graphical user interfaces, is a framework used to develop cross-platform rich Internet applications. The ports for iOS and Android are based on an 'unreleased version of JavaSE Embedded for iOS/Android.' Oracle's Richard Bair revealed that the 'first bits and pieces' for JavaFX for iOS should probably be out sometime next week. The rest of the release will be scheduled along with the release of Prism (the next-generation toolkit). Oracle is going to keep javafx-font proprietary, but Bair has said developers are already working toward an open source native replacement of the component through the OpenJFX list."
It is still early for April fools. This is Oracle which has had a series of sad missteps regarding open source. Since it's Oracle, I have to wonder "what's the catch".
That said, if this really happens, then I suppose we will see Java FX really unencumbered and able to appear in Iced Tea and any other open source efforts?
Would using Java FX on Android have any advantages over using the native Android user interface features? (I don't know about iOS, so I won't ask, but someone familiar with iOS could ask and answer that one.) One could say that an advantage of Java FX on Android is that it makes more code you wrote for the desktop / browser / iOS / etc more directly reusable on Android. But like Swing before it, does it also result in a 'least common denominator' user interface across platforms that doesn't perfectly match the conventions of any single platform?
I'll see your senator, and I'll raise you two judges.
Huh, who knew. Last I checked, JavaFX was built on top of Swing. Apparently that may have changed with 2.0.
Or maybe not. I can't tell.
But one thing seems pretty clear from screenshots: your JavaFX applications will fit in with the native desktop just about as well as your Swing applications did. Which is to say, "not at all."
You are in a maze of twisty little relative jumps, all alike.
I've always thought that having GUI files is the way to go instead of in code. I'm fine with XML (FXML in this case), but I'm sure some others have gripes and may prefer property files/etc. But how nice would it be to have an XML standard for all GUIs? Then all you have to do is load one XML file across GTK+, Qt, X11, Windows, Cocoa, and even OpenGL. Example:
/> />
<window width="300" height="300">
<edit width="100" height="20" value="Type name."
<button width="50" height="50" value="Submit"
</window>
Then do the logic in whatever language you want. I know it's a pipe dream with several problems, but damn it would be nice.
The G
Let's just focus on Javascript, and leave this other crap outside (flash, activex, java). We don't need it. I try and use a page wihch requires Java on Linux and I get warnings about how IcedTea isn't working. I click on the link to update it, but I get taken to a Wiki page...like I'm going to spend my evening searching for a solution. (It `just works` under Windows). I used to spend a lot of time playing with Linux, but I can't be bothered any more.
Computing is more than just the Web. Javascript is ok for web stuff. Crap for rich clients with functionality that doesn't work well over the network, usually because the datasets are too big (eg. CAD, GIS, graphics/photography, simulations). There is still an ernomous space for rich client technologies like JavaFX, and JavaFX 2 looks really nice and has some great built in styles and effects. It's also pretty easy to program if you are used to Swing.
JavaFX 2 is a nice evolution for those used to Swing (yes, yes, many don't like Swing, but you simply can't beat Swing for power and flexibility once you get some experience in it). It has a much nicer default styling than even Nimbus for Swing, and great built in aesthetic effects (hence the "FX") that mostly get switched on with a simple boolean property. JavaFX makes the same mistake as Swing in that there are no standard Calendar/Date controls, yet just about every application needs these. Fortunately you can use one of the third party controls, or even embed your existing Swing applications into your JavaFX app. That's pretty funky stuff.
Well, that's a shame, because if you don't use the same definition of the word "open" as the rest of us we can't actually answer your question. We have no way of saying "Well, there's FoozleJava 3.X", and you then responding, "No, I'm saying I want it to be truly open", and us saying "But there are ports to every platform in existance, and it's under the GPL", and you saying "Yes, but I'm using my definition of the word open, and that means it has to be compatible with the Microsoft Public License.
And after we go around in circles a few times, we throw our hands up in exasperation.
OpenJDK is free software. It's licensed under a free license. It is built using a community model of development, albeit one steered by Oracle. And to answer your concern, which seems to be more about portability than openness, it's largely POSIX code and has been ported to the BSDs (cite: https://wikis.oracle.com/display/OpenJDK/BSDPort)
You are not alone. This is not normal. None of this is normal.
Doesn't matter. You can't run Java on iOS can you? Hence, JavaFX won't run on an iPhone or iPad.
And flash neither?
You stupid fucks. It'll work so that you bundle the jvm into your app - and this is totally acceptable for apple as long as you don't allow loading of new portions to it from the outside.
on another note - a lot of sensible desktop java programs do this as well.
(this doesn't mean that anyone should give a fuck about JavaFX).
world was created 5 seconds before this post as it is.