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.
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...
On2 is the company that provides the video/audio codecs for video in the Flash plugin. (i.e. The technology used by sites like Youtube.) The inclusion of these codecs in JavaFX means that JavaFX will be able to play movies intended for a Flash player.
In other words, JavaFX is a scripting language for graphics. Similar in principle to Flash. The download gives developers the necessary libraries and viewers to develop JavaFX code. (Including plugins for your favorite IDE.) Not sure what the Adobe CS stuff is about.
Javascript + Nintendo DSi = DSiCade
It is. This is really a set of libraries on top of the existing Java runtime that support the JavaFX scripting framework.
I'm sure they will once the technology has been shaken out a bit. Sun tends to be cautious about making changes to the core APIs.
Javascript + Nintendo DSi = DSiCade
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.
According to the JavaFX website this is already the way it works:
"JavaSE 6 update 10 gives developers the ability to create draggable applets which the user can then save on their desktop to use later."
She made the willows dance
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."
How the hell did you get modded troll?
What the hell... who modded parent troll? Someone fix that please.
Homonyms are fun!
You're driving your car, but they're riding their bikes there.
Thanks that really helped!
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!
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.
Sun released JavaFX 1.0 today, in a bid to take on Adobe's Flash and Microsoft's Silverlight technologies.
JavaFX, a technology by sun which will let developers write "rich internet applications" using a Java-esq language which has been in development for quite some time now has finally been released, joining rather late to the game. Also it requires it's own plugin which will be a hefty barrier to entry.
It is Sun's first Java release to include standardized, cross-platform audio and video playback code (in the form of On2 licensed codecs).
So, it will include Audio/Video support, and it is using codecs from On2. I don't think that this means the codecs are free in any sense of the term, just that Sun is paying the cost of licensing these codecs for the developers using JavaFX. Nevertheless, good codec support is always a good thing.
The lack of a Linux or Solaris release is a notable absence.
Kind of deflates the "standardized, cross-platform" claim...
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."
So, the download they offer you includes the software to run the software you write, a plugin for eclipse and netbeans which are the two leading Java development environments, and some plugins for a few Adobe products to move stuff from them into the JavaFX world.
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?
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.
Client side part is in JRE6u11. JavaFX developers must download SDK/IDE plugins.
:: There is no light at the end of a tunnel. There is a tunnel after a tunnel : Thom Y.
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
The Adobe CS stuff is about being able to import Photoshop and Illustrator projects complete with layers and make applications out of them.
The key bits are the scenegraph code ("scenario", available, but currently only as GPL) and the media playback (Java Media Components?) JMC replacing the hideous JMF. The JMC are based on GSTreamer on Linux (and solaris? not sure) so there is the possibility of playing anything ffmpeg does. God knows how the licensing is going to work out, especially since the H264 library is GPL.
On2 [wikipedia.org] is the company that provides the video/audio codecs for video in the Flash plugin. (i.e. The technology used by sites like Youtube.) The inclusion of these codecs in JavaFX means that JavaFX will be able to play movies intended for a Flash player.
It's sort of cool, but I wish we could get away from the On2 codecs.
Their licensing fees for high-end stuff are ridiculous. We were pretty stoked once h264 support made its way into Flash because it meant we could ditch our reliance on the expensive On2 stuff and stick with the open source encoders (I'd happily buy a commercial h264 encoder but I can't find a decent one that works as well and is as flexible as the open source alternatives).
I would have much preferred to see Sun go with h264 as their video codec of choice here - for selfish reasons, mostly (so we don't have to re-encode all our h264 content to get it working on Java devices!).
All these things to me though just highlight the need for a true, open, competitive video codec. I'm holding out hopes for Dirac and Theora but from what I've read they still need a bit of work on the quality - plus I think some of the encoding tools are a bit lacking (? could be wrong, haven't looked for a while).
Oh, there said and blow there chance! Your rite!
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"
hahahahahaha
Copyright infringement is "piracy" in the same way DRM is "consumer rape"
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.
I don't really understand why Sun bothers. .NET will be the platform that you can write once and run anywhere. JavaFX is just said compared to Flash and Silverlight.
They had there chance with Java and blow it.
I really don't understand why you bother. You had a chance but you blow it.
Zoid.com
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
Really? As much as I dislike Java as a language, I am still forced to admit that it has a huge share of the market when it comes to a lot of development, espcially large-scale corporate development. .NET is cute, but is does not have that level of penetration.
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)?
Can it use accelerated OpenGL in the browser? If so, that would put it ahead of Flash by a large margin.
Don't whistle while you're pissing.
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.
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
If the new codecs work the same way image formats do, you just put the new set of codecs in a jar, stick them in the extension directory, and then every single Java app can use them with no further configuration.
"Anyone who attempts to generate random numbers by deterministic means is living in a state of sin." -- John von Neumann
> 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.