Posted
by
Unknown Lamer
on Wednesday February 13, 2013 @12:29PM
from the don't-tell-larry dept.

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."

Interesting -- so is there a compatible Open Source JVM that can run this?I'm aware of Open JDK, but seeing that the code is targeted for Linux, I don't see that as a truly open solution for most users.

So how would this be more open that Flash? While the Flash Player (AVM) is closed source, the entire AS3 library is open source.And seeing that the security situation has no fix in the foreseeable future -- why is this something that anyone should consider using?

So how would this be more open that Flash? While the Flash Player (AVM) is closed source, the entire AS3 library is open source.

I know that everyone's hatred of Flash often gets in the way of facts and reality, but everything regarding Flash -- the SWF format, the AVM2 bytecode, the communication protocols -- has been open-sourced [adobe.com] except for Adobe's Flash IDE.

I know that everyone's hatred of Flash often gets in the way of facts and reality, but everything regarding Flash -- the SWF format, the AVM2 bytecode, the communication protocols -- has been open-sourced except for Adobe's Flash IDE.

Why, then, hasn't there been a strong open-source alternative to Adobe's Flash Player? I know that there is a GNU project [gnu.org] already out there to run Flash, but by most accounts it sucks in terms of compatibility and performance. Is there some "secret sauce" that Adobe is holdin

I'm aware of Open JDK, but seeing that the code is targeted for Linux, I don't see that as a truly open solution for most users.

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 [oracle.com])

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.

The simple fact that apple can decide what runs and what doesn't and by doing so affect the market means they really need to be looked at for antitrust. remember the laws do NOT say you need a monopoly, only that you have "undue influence' and the fact that Apple can kill Flash with a word, get companies like Opera to drop their engines, even as we saw affect the price of media on the web, shows that they have too damned much power.

I was all for busting up MSFT in the 90s, I'd be for busting up the hardwa

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?

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.

Oracle's has tarnish Java's good name.Between the cross-platform exploits, Oracle's lack of eagerness to plug them until recently, and their attempts to monetize anything Open-Source from Sun that had no-strings-attached, people are running away from Java.

E.g. People don't want to touch LibreOffice because it has ONE dependency on Java in its BASE application.

E.g. People don't want to touch LibreOffice because it has ONE dependency on Java in its BASE application.

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.

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.

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.

He could be in high school, a "fresh out", or a geek trying to get "street cred" by mindlessly bashing Java. This is slashdot.

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.

> 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

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".

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 langu

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 m

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.

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 effort

> 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, casse

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

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 p

There are plenty of alternatives if your top priority is not "cheap and plenty developers". Perl, Python, Smalltalk, C++. Yeah, C++ ! A couple of highly skilled C++ developers will create the same functionality at the same total cost (development, testting, maintenance, cost of operations) as the Java folks will deliver.

The only "problem" in the corporate world is that they want "affordable" developers and compromise on everything else. So they save some money on the short run and then pay big dollars/euros

While you are right with the hourly rates, I doubt there are any enterprise frameworks for the languages you mentioned.If we say Java we don't mean the language but the platform.There is not even a single standard for C++ to access a database, nor for GUIs...Same for Perl as it only has adapters to, C libraries (and whomwould want to use that?) SmallTalk is pretty dead right now, only used in web applications (seaside) and desktop applications. There is no serverside framework e.g. to have an application s

Oracle doesn't really get open source. They'll open source something. Then expect you to pay for it. Or sue you for using an independent implementation of it. (See Oracle vs Google because Google used Apache Harmony, an independent implementation of Java to build Android, after Sun open sourced Java.) Oracle will expect you to pay for Hudson or OpenOffice.org, or will seem to believe that they "own" it and have absolute "control" over it. That is why we now have Jenkins and LibreOffice.

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 us

Swing Applications fit perfectly well into your native environmnet. If you have a particular application that does not, then the programmer likely hard coded a specific look and feel (like "plastic") . However this can be changed by command line options or system variables.

No, I know next to nothing about the state of JavaFX. If you want me to talk to you about server-side features of Java, including some new Java 7 features I'm still not using because I have to stick with Java 6 for the foreseeable future due to IT overzealousness, that I can talk about.

If Oracle was serious about pushing JavaFX as a replacement for Swing, they've sure done a shit job of it. It was an optional install up until what, JDK 7u6 or so?

Some people don't like the look of Swing., put if you are programming it your own, I don't get why. As you simply can set it as you want.Other people don't like the way how you program SWT.I would never program in a glorified MFC (SWT is no GUI framework, it is a bad hacked library) to get a minimal different look and feel.

In our days you look on a beamer image projected to the wall and guess which framework was used to program it.

Sorry, neither SWT nor Eclipse RCP looks in any way more native than Swing. Y

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:

This is why you would allow XML and allow code implementations/manipulation. For most work, just do it in XML. If something is more advanced, then do it in code, or do it in XML and manipulate it in code.

Which is why I really like Android's approach of having your GUI declared in xml, but then inflated into Java objects. The xml becomes a declarative shorthand and anything that can be done in xml can also be done in Java (although xml is usually much quicker to write).

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.

Not very. Firefox does this with XUL. Different platforms have different conventions, you don't want the same interface across all of them. For instance, Android apps typically have menus that pop up from the bottom, whereas this isn't the norm on iOS. Sure, you'd have the same interface from the programmer's perspective, but from the user's perspective, your app works differently to all their other apps.

That's why you would need it to be robust and flexible. More of like a general model with easily switchable skins/properties. Again, it's just a pipe dream. Personally, I'm kind of sick of writing lines and lines of code for a view. I hate GUI tools that make GUIs, but I also hate millions of lines of code for simple views that have very little correlation between what the user sees and what the coder sees. I think GUI files are the middle ground, and you can have designers on your team easily change/u

For instance, Android apps typically have menus that pop up from the bottom, whereas this isn't the norm on iOS.

Pick a hard one next time: the developer creates menus. On Windows etc the menus are normal, with submenus. On Android the top five menu items (first five) are listed with a more button as the sixth, and any press on a menu opens a submenu window.

Any standard that demands such specific width & height values be manually entered and numerically described is pointless. UI specs need to deal with general layout role indications, not try to lock into pixel-perfect "dumb" layouts that cannot manage being rendered with different fonts, resolutions, or aspect ratios.

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.

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,

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.

Swing is definitely functional, and Nimbus doesn't make me want to gouge my eyes out, but it's legacy as a cancerous outgrowth of AWT hurts it too much. It's amazing what they were able to do with that kind of foundation, but it's past time for something better.