Press F3 to continue: initial thoughts on the JavaFX RIA platform

May 8, 2007
It all started with this InfoQ article. Apparently, Sun will announce an early version (alpha?) of JavaFX at JavaOne, an open source RIA platform that uses the F3 scripting language and has a set of UI libraries and a programming model that would rival those of Silverlight or Flex. The F3 programming language itself feels a bit like a mix of Groovy and Javascript 2 to me, but is looks like a powerful solution.

Of course it remains to be seen if it was really needed to have yet another programming language. Scrolling to the F3 spec, I can see one thing that they didn't get exactly right: integrated query syntax. I've seen some interviews and presentations on Microsoft's LINQ project recently, including the one Anders Hejlsberg gave at Mix 07. Someone in the audience asked "why do you guys put the from clause before the select clause?". The answer was simple: how would the IDE know how to help you if you start with the select clause? Select it from what? Subtle, but important. But it looks like a nice language, and the type inference thing is what I like to call "dynamic typing done right". And it has excellent Java interoperability, so there's a whole universe of libraries available to you. Check out Chris Oliver's blog for more info on F3.

Although JavaFX looks like a worthy addition to the Java platform, they'll have to get some important things right:

  • Tooling support: GUI builder, IDE plugins for F3, ...

  • Excellent browser support: easy deployment and fast (Silverlight and Flex got this one right)

I fear that Sun, as the "spec company", will only implement a part of that story, and will count on the community to complete the picture. Well, we all know that some things just need some company throwing some money at it to get the whole story. Including timing...

I guess I'm exited. Let's wait for the JavaOne announcement before we draw any conclusions (based on some rumors). But draw 'em we will ;-)

Update: this blog links to some interesting stuff, including some hands-on exercises. Looks like they're using Java Web Start for deployment. Where's the browser integration?

Update: added link to official JavaFX page, lots of info there. The IDE support is there, but they're using Java's mechanism for deployment (standalone, Web Start, Applet).