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."
why?
Be seeing you...
... you can't open source any system level components in an iPhone or iPad without talking to us first!
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
Not everyone is dropping Java. Java is heavily used in enterprise systems. The JVM (virtual machine) is one of the most amazingly well engineered machines ever created.
I don't know where you just don't like the word Java, or whether you don't like the language, or whether you don't like Applets in the browser, or what. But the Java ecosystem is way larger than you imagine.
I'll see your senator, and I'll raise you two judges.
Nooooooo! Don't ask for JMF over Flash for webcams.
Since you mention Flash as an alternative, I assume you are talking about this for use in the web browser. Wasn't there just very recently a web standard to use the web cam and set up video conversations between web browsers?
What you really need to explore is how to use that new web standard to secretly turn on the user's web cam, streaming video back to your server, while the browser plays streamed music with a mesmerizing visual display so the user will leave the browser window open for days on end.
I'll see your senator, and I'll raise you two judges.
He could be in high school, a "fresh out", or a geek trying to get "street cred" by mindlessly bashing Java. This is slashdot.
These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
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.
It is used heavily in the enterprise, and many enterprises are now learning that is not such a good thing. Enterprise apps are often pinned to particular versions of Java. This has left many enterprises unable to update the versions of java on their desktop, which leaves them open to trivial drive-by attacks. This is causing real operational cost as companies have to rebuild machine after machine as they get compromised. At some point the pain will cross the point of costing more than replacing the Java app with a pure HTML app, and they'll dump Java. The writing's on the wall.
Allowing multiple versions of Java to exist on the system at once was a tragically bad idea, and it's biting the entire ecosystem in the ass right now.
Since LibreOffice just hit version 4.0 and the improvements keep coming in, I don't think you are correct. You may have meant OpenOffice. OpenOffice suffered more from Oracle's heavy handiness than any technical issues with Java.
These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
The JVM (virtual machine) is one of the most amazingly well engineered machines ever created.
And, like many of its kind, it's the right solution to the wrong problem.
Ezekiel 23:20
You should have mentioned Azul Zing.
Ezekiel 23:20
I can assure you Java would fall flat on it's face (in fact it and the companies that bet on it did...) if you tried to handle securities trading volumes
Or if you tried to run really massive-scale web sites on it, like, say, Google. Oops... much of Google is built with Java, including plenty of performance-critical code.
Java works just fine at really large scale, and at extremely high transaction volumes. It tends to require more RAM than a comparable system built with C or C++, but performance is close to identical assuming good engineering of both -- and it generally requires less effort in Java than in C or C++, even when you include the tuning efforts required to get maximum efficiency out of Java.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
Technically Google has stated that their work was not derived from OpenJDK and included libraries from Apache Harmony. So your comment doesn't apply.
These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
First of all, you don't have a deterministic response time on a PC-architecture machine anyway (paging, caches, SMM etc.). Second, I can hardly see a difference between the two, unless you're doing hard RT.
Ezekiel 23:20
As he said "The JVM (virtual machine) is one of the most amazingly well engineered machines ever created. " Sorry if you don't understand but it is probably one of the most researched and well understood machines on earth after x86. The jvm has so much amazing analysis performed on it that you don't really have to worry about whether your dog shit business case will work on it or not because financial firms trade on it, super clusters use it, and so to blurays and cell phones.
Look up http://en.wikipedia.org/wiki/Xaml and it's use in WPF.
They open source it, but if you are going to put out a device using java, you better pay them their pound of flesh. on PC, you never have to worry about this as the license is free for anything not mobile. Google didn't use the JVM and didn't call their VM system Java, so they were in the legal clear. Can't patent a language. Larry Ellison didn't understand this and tried to go thermonuclear on google, and it didn't work.
There has never been a problem with people writing apps in java for the Oracle JVM, and the JVM itself is open source with OpenJDK7.
TL:DR Apps are fine, don't fuck with java and devices unless it uses the regular JVM, unless you want to pay oracle or can find a way to get around the limitations.
There seems to be an enormous amount of FUD circling around this whole debacle. I see lots of people suggesting C# and Mono, and others saying to do direct development ala Apple. Methinks less conspiracy and more cheerleading from the .Net and ObjectiveC crowds. Java is a direct threat to their models.
I've gone 15 years developing on the JVM and never seen it crash. What JVM were you using? Were you using JNI and native libraries alongside it?
- jon
Ganymede, a GPL'ed metadirectory for UNIX
This shows only you have no clue at all ...
Should I reall list the majour trading Systems that are written in Java? Or are you confident, you can google them your own?
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
It is very unlikely that the JVM crashed. Very more likely is: it threw an Error or at least an Exception. Perhaps you should care to read and comprehend it.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Not everyone is dropping Java. Java is heavily used in enterprise systems. The JVM (virtual machine) is one of the most amazingly well engineered machines ever created. I don't know where you just don't like the word Java, or whether you don't like the language, or whether you don't like Applets in the browser, or what. But the Java ecosystem is way larger than you imagine.
Yes, Java has its uses. But it's gotten a bad name because Sun/Oracle touted it as a web application platform but never bothered to provide the necessary security for executing untrusted code over the Internet. Worse, until very recently, there was no way to install just the Java runtime for desktop apps without also getting the browser plugin shoved down your throat – and if you removed it, it would be put back at the next security update. The fact that Oracle sees these security updates as a way to make a few bucks by foisting Ask Toolbar on users doesn't help, either. And the numerous patent lawsuits filed by Oracle are yet another strike against Java.
Wont happen because the ARM space is where Oracle makes all its JVM money these days (licensing J2ME and the ARM Java stuff). Also there would be licensing issues involved in sharing the details of the proprietary ARM Jazzelle Java instruction system.
I do know the difference between a Java stack trace and a VM which crashes with a dump of the CPU registers. Platform was Ubuntu 10 LTS and the Oracle JVM.
I also checked the PDF parser. I does not use any native stuff.
Well, I took you at your word about crashing the VM. I was just curious how long ago it was, whose VM you were using, etc.
- jon
Ganymede, a GPL'ed metadirectory for UNIX
But there is a fault in everyone's logic when it comes to java. from what I have seen the statement is basically "Well big business and financial corps use it so it must be good". This of course ignores the fact that many of those same corps have IE Intranet apps, VB apps and Excel apps and even Access apps and just because some big corps use something doesn't magically make it "good" or right or wrong or anything other than software that big corps use.
ACs don't waste your time replying, your posts are never seen by me.
(I can assure you Java would fall flat on it's face (in fact it and the companies that bet on it did...) if you tried to handle securities trading volumes from just one exchange, say, NASDAQ.
Given that high-speed securities trading is about the #1 threat to life, freedom and security on the planet... is crashing the exchanges actually a bug?
You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
> But there is a fault in everyone's logic when it comes to java. from what I have seen the
> statement is basically "Well big business and financial corps use it so it must be good".
> This of course ignores the fact that many of those same corps have IE Intranet apps,
> VB apps and Excel apps and even Access apps
Those big corps are abandoning their IE only apps. Big corps don't have Excel and Access apps that do anything on any large scale. Small processes, yes, maybe -- just like a small business may have such processes built on Excel / Access / VB. Not that there's nothing wrong with that, as Seinfeld would say. But those big corps are not abandoning Java.
People who bash Java for no rational reason, don't realize that there are a lot of reasons to use it. It has a lot of advantages that outweigh its disadvantages. This is probably true of almost any technology. Windows. Linux. Mac. Python. Even Perl for God's sake. Otherwise people wouldn't be using it.
I'll see your senator, and I'll raise you two judges.
> if [Java] was as awesome as you're making it out to be, it'd be used EVERYWHERE.
No. You're wrong.
Technology ${X} would only be used EVERYWHERE if it were PERFECT. I'm not claiming Java is perfect. I'm merely claiming that it is very good. It has a lot of advantages that outweigh its disadvantages, as do many other technologies.
Technology ${X} has a lot of advantages that outweigh its disadvantages. That is why people use ${X}. Where X could be Java, Windows, Linux, Mac, Python, C, cassette audio tapes, pocket calculators, etc.
But if Java were perfect, it would be used everywhere. It's not. But if you mindlessly bash Java, then you should also consider bashing every other technology that I mentioned. All of them have serious drawbacks.
I'll see your senator, and I'll raise you two judges.
For deterministic response time, look at IBM's Metronome JVM runtime. Get out your checkbook.
I'll see your senator, and I'll raise you two judges.
I agree "Everybody does it this way" isn't a justification just a result. Big business uses it because it is scalable, has a decent library, works well in a non-homogenous network cluster, and is one of the oldest and popular languages with GC and language primitives for parallelization. It's much faster than the dynamic type languages, and doesn't have the kludge of a global lock like two of the popular scripting languages.
These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
See? i have NO problem with that, you clearly laid out your reasoning for supporting Java in that situation and its obviously thought out and done from an educated perspective.
Now as someone who mainly supports SMBs and home users I can tell you in THAT particular userbase java is like a damned STD in that it keeps reinfecting and can be a major operation to get rid of (Thanks a lot, asshole who invented minecraft) but then again my users aren't having to support 1000 transactions and processes at once so maybe it works great there, don't know as that was never my field.
But sadly we have seen too many cases where something doesn't make sense to use but "Well so and so uses X so it must be good" or in the case of java "Well these billion dollar corps use java so we should too" and I would argue that is a choice from ignorance which is why I was pointing out the flaw in the logic. if Java or flash or SL or .NET or C++ or whatever is right for you because you looked at your options and it was the best fit? i'm glad, I really am. Hell I still write the occasional VB 6 app because for one single function (making a front end to a local DB) it works great with the least footprint and cost. But I would never say "So and so used VB 6 so we should" as that isn't a justification, that is just bandwagon hopping.
ACs don't waste your time replying, your posts are never seen by me.