Sun Releases JavaFX
ink writes "Sun released JavaFX 1.0 today, in a bid to take on Adobe's Flash and Microsoft's Silverlight technologies. It is Sun's first Java release to include standardized, cross-platform audio and video playback code (in the form of On2 licensed codecs). The lack of a Linux or Solaris release is a notable absence. The development kit currently consists of the base run-time, a NetBeans/Eclipse plug-in and a set of artifact exporters for Adobe CS 3&4." An anonymous reader adds a link to several tutorials accompanying the new release.
Well, I will throw out there a heads up to folks about OpenLaszlo which is the "run-anywhere, no-lock-in rich Internet platform. Period."
Unfortunately it still has a massive adoption curve ahead of it so maybe there's no reason to list it as a contender. While there are neat demos, a few companies have employed it: Wal-Mart, Pandora even MSN's music service.
*sigh* I wonder if this means Sun is going to pull out of Orbit and come up with some J2ME version of JavaFX?
Like always, I welcome the competition, diversity and options this brings while I cringe at the thought of yet another schism in the open source community.
My work here is dung.
No shockwave for Linux, Flash 64 gets released JUST for Linux, Sun open-sources Java, but now no JavaFX for Linux...
Can't we all just get along? My head is spinning at all the end-user requests for their intarwebs to work correctly. I guess it's just too much to ask for a real, open standard that just works (like...umm...html?)
It is pitch black. You are likely to be eaten by a grue.
I am not really into technology but am making an effort to learn. Can someone please explain what the original post means. (I half get it, if the counts for anything) My main problem is..."include standardized, cross-platform audio and video playback code (in the form of On2 licensed codecs)" And..."The development kit currently consists of the base run-time, a NetBeans/Eclipse plug-in and a set of artifact exporters for Adobe CS 3&4." Thanks, sorry i am so uninformed.
Why is this not running on top of the existing java plugin. Or at least add the functionality to the next release of java.
No linux, no Solaris. I guess Windows and Mac are "cross platform" if you're feeling generous. Hopefully a Linux release will at least come on the heels of this soon.
So, what is the difference between this and silverlight? Both are a copy of flash that won't get any wide usage anytime soon and none of them run on linux...
What I'd really like to see is JavaFX running on Android. I saw a presentation from Java One where it showed a JavaFX app running on Android. Has anyone been able to duplicate this:
http://www.youtube.com/watch?v=OYy4j9x2Mi4
I've played around with JavaFX and it seems pretty nice. I've been able to write small widgets with it. Whether it can take on Silverlight and Flash still remains to be seem. What's awesome is that JavaFX has the support of Java's rich API and 3rd-party libraries (you can easily import them into a JavaFX program).
Also if JavaFX apps can run properly on Android or the iPhone, I think that would also help it be more successful.
Vivin Suresh Paliath
http://vivin.net
I like
... another RIA platform. Only this one doesn't have a userbase yet and I don't think it'll have one to speak of in the near future; it is Windows and Mac OS only (though Sun promises that Linux and Solaris support is underway http://blogs.sun.com/javafx/entry/a_word_on_linux_and). Microsoft has been pushing Silverlight hard and still has only about 30% market penetration in the US (they claim 50% mp in 'some countries' - I'm very curious which countries are these: http://www.microsoft.com/presspass/press/2008/oct08/10-13Silverlight2PR.mspx). With Flash+Flex having a comfortable user base of some 90+%, let's not even begin to compare Microsoft's vs Sun's power to push stuff to the desktops of the masses, it's not even funny.
It is Sun's first Java release to include standardized, cross-platform audio and video playback code (in the form of On2 licensed codecs). The lack of a Linux or Solaris release is a notable absence.
So... cross-platform means PC and Mac? Or just PC?
From the link:
"We are going to support Linux and Solaris. We love both operating systems....we are actively working on it right now. We have it in our continuous build system."
and
"So why didn't we ship for Linux and Solaris in 1.0 along with Mac & Windows?
Simple. It's not ready yet. Certain features are there but other features are broken or not performing well enough. In particular video and graphics hardware acceleration have historically been tricky to implement properly on Linux and Solaris, as users of native apps for those operating systems know all too well. But we are working on it and will ship it."
I think this is a good move
Even though it is still a shame,
you CAN view JavaFX used on webpages. It seams to work just like java-applets, only nicer to look at. (Sadly it also has the same slow loading as applets)
Example: http://javafx.com/samples/StopWatch/index.html
what is this linux support all you frothing nerds are screaming about? I just ran the "web start" examples in linux just fine, in fact FX runs on the standard JRE. Ok, there's no sdk for linux yet, FINE, just cut them some slack, for christ sake.
So if we have an absence of a lack, does that mean there is a Linux and/or Solaris release? :-P
And yes, I don't think I'm not being overly pedantic in noting the presence of an absence of a lack of internal bouyancy in the summary, since that's a term whose inapplicability wouldn't be not out of place in this sentence.
A marriage is always made up of two people who are prepared to swear that only the other one snores.
*sigh* I wonder if this means Sun is going to pull out of Orbit [slashdot.org] and come up with some J2ME version of JavaFX?
I don't know about Orbit, but a JavaME version of JavaFX is definitely in the works. And to clarify, JavaFX Mobile will be provided to handset manufacturers as a binary distribution, for which Sun will charge a per-unit royalty.
Breakfast served all day!
For for shit's sake. It's 2009. Don't you think its about time I should be able to make a fucking API call and determine the volume of the input audio is instead of getting and NotImplemented exception?
I wonder if this means Sun is going to pull out of Orbit and come up with some J2ME version of JavaFX?
Java FX Mobile was also released (but still in beta stage; FCS planned for next spring). Check Terrence Barr's blog. In fact, the mobile version is a big part of JavaFX's grand scheme. Deploy the exact same code on desktop, web and mobile devices - it's revolutionary and unique, for anything as rich as JavaFX.
Flash and Silverlight? Yeah, right. Sun knows that Yet Another Web Development Framework isn't going to take over the desktop. This is a blatant attempt to stop Android taking over the mobile phone space. Android added native media playback classes and a bunch of other stuff to the J2ME mix, the HTC G1 was a surprise hit, and a whole bunch of cell phone manufacturers have now announced Android phones - not J2ME phones. Sun is seeing its lock on the mobile phone application market disappearing overnight, and Google side-stepped whatever patent claims it might have exerted by running "Dalvik" byte-code instead of Java byte-code.
So, it's closed source, and phone manufacturers have to pay a royalty to Sun for every handset shipped? In the meantime, Android is getting the press, HTC has shipped half a million G1 handsets in the past couple of months, Android is open source and free to implement, and there are numerous Android phones from multiple manufacturers on the horizon. Why would any of these manufacturers choose JavaFX instead?
Sun is a big-name company, and they no better than to support a dying ship in Solaris.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
I was able to get the SDK to run on Linux. Full details here. Please don't kill my box :)
Vivin Suresh Paliath
http://vivin.net
I like
They've done it! They have *finally* done it. Beyond all hype, potential vaporware and marketing bullcrap they have - for once - actually pulled through with RIAs. People this is the first time in history that Sun has actually pulled through with implementing a piece of Java in a form that Java was initially meant for: A cross plattform rich & powerfull client enviroment. Finally Java and its VM have stepped up and entered the ring with Flash!
Only intially releasing for OS X and Windows is a large downside, as it will get negative votes from opinion leaders in the field, but the simple fact that they pulled through and didn't stop at 20% with some half-assed crappy Java Media Framework or some other piece of sh*t they've released ever since Flash took the helm at rich clients 10 years ago is a very big supprising plus!!! And the release-website (why the f*ck isn't this, the most important prime sorce even linked in the GP metaarticle???) doesn't even look like total crap.
If they actually manage to pull through with a broad parallel release policy for this in the near future, manage to reduce JFX deployment to zero-fuss Flash-style and release the java-based FOSS tools and IDEs for JFX as announced a year ago, we will - for the first time in the history of the web - see a true competitor to Flash rise. This is good news in so many ways I can't even describe. If Sun plays its cards right and continues applying common sense and not screwing around this time and Adobe isn't on its toes, we will have a fully free open source rich client platform in just a few years and Flash will be history. Yay! Go, Sun, go!
I can't tell you how much I and many other professional Flash developers have waited for this moment for the last 8 years.
We suffer more in our imagination than in reality. - Seneca
...and has been for at least 20-30 minutes. I guess they didn't expect anyone to actually check out the site.
Laszlo is a Generator for a few things - which also include Flash, nonetheless. Much like the old Macromedia Flash Generator, the Ming Libraries or the Macromedia Laszlo Rippoff 'Flex'.
JavaFX on the other hand is an all-out leveraging of the Java VM for RIAs, something Laszlo can't offer. It's its own VM (naturally) plus a toolkit for building content and applications. While there are overlaps between the two, JavaFX is clearly aimed at Flash - the biggest advancement being a much more streamlines deployment of the Java VM (I just installed it with a sinlge click of a mouse, supported by some nifty Ajax widget that streamlined the process even more).
And, contrary to Silverlight, Java actually has a chance to dethrone Flash, as it is the most mature cross plattform available, despite Flash being the most widespread plattform in general. I'm really interested in how this will play out. ... And am downloading the free JavaFX IDE as I'm typing this. If it doesn't get in my way building RIAs, I will probably never purchase a Flash IDE licence again.
We suffer more in our imagination than in reality. - Seneca
I just created a clone of asteroids on it in a couple hours without ever using it before. I've programmed in Flash for years and, even though JavaFX has a long rode to adoption ahead of it, it's *way* better than flash/flex in terms of ease of use and power. Comparing Flash to JavaFX is like comparing the old TI-82 programming language to MatLab. Seriously, JavaFX blows it out of the water. It may never win on adoption given the ingrained nature of Flash (would have probably had a good chance before AS3 though) but it definitely wins for (admittedly less important) technical merits. It'll be absolutely killer for web-based games.
I don't regard Silverlight as a viable RIA language since I haven't met anyone yet who wouldn't rather spend their day french kissing a rabid bear than code in Silverlight.
I don't really understand why Sun bothers. They had there chance with Java and blow it. .NET will be the platform that you can write once and run anywhere. JavaFX is just said compared to Flash and Silverlight.
Why exactly would Sun want to take on Silverlight? It is not like silverlight is even relevant right now... ...Ok, it may already have an amazing marketshare of 0.01 percent the pages that abuse annoying multimedia...
Copyright infringement is "piracy" in the same way DRM is "consumer rape"
One day, just like chrome is going to run on Linux, one day...
Really, it annoys Linux users to be treated like the later guy, it should be feel even worse for Solaris people, even Sun treats you like something that is ok not to support from the first day. It was possible to just delay the whole freaking release, but even for Sun it is perfectly ok to just screw these operating systems and only care about OS/X and windows, that's great.
Copyright infringement is "piracy" in the same way DRM is "consumer rape"
Sun: Our OS is so insignificant even we won't develop for it.
Seriously, what is with the @#$% non standards? On2? Huh? I thought this was Java? Just give me any easy way to post videos that anyone can see. At least Flash can use an H.264. I hate having to re-encode things over and over again for different mediums. It would be nice to have a link that would work on everything from a Wii/PS3 to an iPhone without having to have licensing deals bootstrapped to the tech all the time. Youtube on the iPhone is the biggest one in my mind that is just about worthless.
button to find out."
Combine that with the 2nd-tier graphic design and interactivity going on all over the place, and it feels sort of like something that a) isn't going to win over the designer crowd and b) WHY on earth would Linux fans look at this as anything other than a snub? Sigh. (Anyway, I've downloaded all three packages, and I'll give it a go...)
I tried the demo over at javafx.com and I got two security warnings (they use self-signed certificates) and one popup with a EULA. And the demo have some serious usability and display issues.
I love Java and it pays my bills but Sun really have a long way to go to reach the acceptance level of Flash.
Nobox: Only simple products.
The big difference between Java FX, Flash, and Silverlight is that Sun suggests that the stack will be open source, and Sun's track record of open-sourcing things is excellent. That would be a really significant improvement for the open internet .. vs. the ridiculous situation now with the de-facto dominance of totally proprietary Flash. Java FX may have an uphill fight, but it's clearly the one to root for if you don't want the internet locked up by Adobe or Microsoft.
See here: http://java.sun.com/javafx/faqs.jsp#2
I know we've spoke a few times on Java and you're fairly knowledgeable on quite a few aspects of it; what's your take on JavaFX? I looked at some of the code and it looked like refactored XML. While I both love and hate Java, I try to avoid 'enterprise' Java like the plague... it's becoming an ugly monster. The concepts are solid, but the implementation leaves you feeling like Sun is in dire straights for some guys with beards.
Care to go out on a limb about the future of JavaFX?
If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.
But they are alienating their main clients: Solaris users.
For somebody that has made a living from Solaris for several years, the message could not be more ominous: don't use Solaris, not even ourselves can be arsed to support it.
Nice one Sun, nice one.
IANAL but write like a drunk one.
The lack of a GNU/Linux release is not a "notable absence" at all, it's an entirely predictable absence. And does anybody actually use Solaris as a desktop OS any more (if so, you have my sympathy)?
With Flash I arrive at a page and there's some content staring at me, waiting to be played with.
With this I arrive at a page, click on a "Jave Webstart" link, wait for it to download, wait while it says "Downloading Application" and then, if I'm lucky, get to play with something.
Not only that, but while Flash happily picks up my proxy settings, Java simply times out and gives an exception after a minute or so.
This is hardly the user experience that I want...
My Journal
Let's not even begin to compare Microsoft's vs Sun's power to push stuff to the desktops of the masses, it's not even funny.
For a reality check, see in Jonathan Schwartz's blog how Microsoft bought, for an undisclosed but certainly huge pile of cash, the privilege of bundling some of their stuff (e.g. Windows Live toolbar) with Sun's Java updates.
Not supporting linux and solaris, which have less than 5% of the desktop market, is not notable and is, in fact, good business sense.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
AFAIK, JavaFX works on both platforms, except for the video and the hardware acceleration parts.
Even a lot of Linux distros don't support both video and hardware acceleration out of the box and you have to go through installing from restricted repos to do that. I am a bit miffed that I cannot *develop* JavaFX apps day one, but I sure can run them if I have Java 6 installed.
I think the runtime issue might be resolved by next year as more and more computers are shipped with Java 6 by default.
JFX does hardware accelerated 3d which in itself is a big win over Flash. I would love it if I can develop small widgets on my site without having to purchase an Adobe license for it. I don't plan to write a photo manager or something like that, just nifty little gadgets.
On the whole, Sun has some things to sort out esp. in the runtime delivery department, but to me, this seems like a great start.
1. It needs to be an order of magnitude faster to load. I don't have to wait 20 seconds for Flash movies to start playing.
2. It needs to not require a new runtime, with two nuisance security/license agreement dialogs.
3. It needs to not crash Firefox.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
> The lack of a Linux or Solaris release is a notable absence.
Aaaaand this is cross-platform how? Does "cross-platform" now mean it'll run on Vista Home and Vista Ultimate?
Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
The runtime library in jfx has been a long time coming, and raises the bar in JavaLand to an acceptable starting point for creating visuals with sophisticated hardware-accelerated effects.
The principle flaw of the graphics runtime is its pervasive single-threading model, which means it will never be able to achieve smooth animation of sophisticated displays. The technical excellence of the JVM goes to waste under this display model. The good news is that the jfx team is certainly aware of this, and may be able to address it. Apple splits the scene graph from the rendering graph, and it's the right way to do it.
The most interesting part of jfx is the language itself. It combines three key features:
1. Self-adjusting computation through the compile-time construction of a dynamic dataflow graph, with a goal of minimal recomputation. The dataflow can easily and extensively reconfigure itself at runtime.
2. Strong declarative sequence manipulation, fully integrated with 1, fully supporting the goal of minimal recomputation and propagation of minimal change.
3. Simple and sensible class/object literal notation. Almost-complete compatibility with existing Java code (with a few irritating limitations, such as an inability to call non-default constructors).
The language feels a bit incomplete to me, but I can see where they're going, and it's a pretty nice place. Coming from a Java/Scala perspective, the type system of jfx is pretty weak generally, but it does a fine job for its core cases.
Relative to Java, I see about a 10 to 1 reduction in code for most UI tasks...but to get there, you have to think about declarative sequence manipulation. Things like this:
public class Nest extends Operation {
override var items = bind
[operands[0].boundLeaves(
function(leaf: Dimension) {
Dimension {
name: bind leaf.name
items: bind for (o in operands[1..]) o.items };
}).items];
}
This folds together two tree-like structures, copying the second under each _leaf_ node of the first. The cool thing about this is the bind statements, which make this entire function _incremental_. After executing it, I can insert items anywhere I want in the first or second trees, and the jfx runtime will do the minimal recomputation necessary to build the new folded tree. This pervasive support for the effortless, listener-free handling of incremental modifications is pretty impressive in practice.
That being said, there's a lot being shifted under the covers, in the name of being declarative. Whatever the flaws may be in the current runtime, there are some pretty smart people working on it, and it's only going to get better.
I look forward to a tighter type system with generics, Scala-like abstract members, a concurrency model, and better tools. If you do Java programming (UI or not), it's worth your time to investigate it.
Without ALL of those, no one else stands a chance. I mean, look at Silverlight - its a bomb. A crude bomb.
I downloaded one of the sample apps (BrickBreaker), and it seemed to automatically install the JavaFX code.
However, I then end up with an entirely black window for the app. This is on a G4 Mac.
Not good for a first impression.