Wednesday, May 09, 2007

JavaOne Day 2 - JavaFX Details + Enterprise Rails

Another great JavaOne day is over. Today I did a better job of avoiding boring sessions like yesterdays Web2.0 profiling lab :)

Briefly some important info:
  1. Joshua Bloch did a great job at his Effective Java session. The presented Builder pattern (among others) is something I'll definitely use next time when the need surfaces.
  2. Colgate runs an internal RubyOnRails application talking to the SAP backend via SAP4Rails. It's more than likely that more Rails+SAP applications will surface in the near future, because SAP guys love how easy it is to build a pretty GUI with Rails. And I realized that I should be happy that I didn't become a SAP code monkey :)
  3. JavaFX or JFX (formerly Form Follow Function (F3)) details:
    1. in my understanding it is a wrapper around AWT, Swing and Java2D libraries, that uses it's own language to expose easily usable, yet incredibly powerful, API for building rich GUIs
    2. the language, JavaFX Script, is statically typed and as of now is interpreted, but the work is in progress to get rid of this 2nd level of interpretation in the JVM, which will speed up JavaFX 10-20x
    3. can be deployed as a J2SE app, Java Web Start app or an applet
    4. as an applet it weighs somewhere around 700k after PK2000 compression
    5. enables the building of truly amazing GUIs with a very little effort
    6. it is easily possible to transform SVG into JFX Script - that makes it possible to create a GUI based on output from tools like Adobe Illustrator
    7. since JFX is using AWT/Swing internally, it is possible to embed existing GUI components and display them via JFX. The same is true for trying it the other way around - embedding JFX elements into exising Swing applications.
    8. it's still a work in progress and I have a feeling that very interesting things related to JavaFX will be announced in the upcoming weeks/months

2 comments:

Tom said...

JavaFX isn't interpreted, it compiles to JVM class files, using its javafxc tool. There used to be an interpreter, but it was dropped long before 1.0 released.

Igor Minar said...

yes, that's correct :)

I'm blog post is 2 years old and at that time it was only interpreted.