Jim Weaver >> Hello Harshad. Thanks for this opportunity. I'm Jim Weaver, known most recently as a JavaFX Script author, speaker and blogger. I've been developing Java applications since 1995, and during that time have co-authored a few books on Java and J2EE.
Harshad Oak >> Let's look at the questions that first come to mind when one thinks of JavaFX 1) Why another language? 2) Where do I place JavaFX; is it a new language / a framework / a toolkit... ?
Jim Weaver >> Why another language? I like the way that Josh Marinacci of Sun put it in a recent Java Posse interview: "JavaFX is sort of a code word for reinventing client Java and fixing the sins of the past". Both Java Swing and Java 2D have lots of capability, but are also very complex. You can use a GUI developer tool that generates code, but I'm never satisfied with that code. JavaFX Script allows you to simply and elegantly express a UI, including cross-platform layout components, with a declarative programming style. It also leverages the full power of Java, because you can instantiate and use the millions of Java classes that exist today directly from JavaFX Script. Add features like binding the UI to attributes in a model, and triggers that obviate the need for setter methods, and you have a language that is an order of magnitude faster and easier to use than traditional client Java.
"Java Swing and Java 2D have lots of capability, but are also very complex...."
Regarding where to place JavaFX: It is a family of "products" that includes JavaFX Mobile (a complete software stack for mobile devices) and JavaFX Script. JavaFX Script is a declarative programming language that is fully object-oriented and statically typed. See the http://javafxpert.com/weblog/2008/01/want-to-learn-c.html post in my "Helping you become a JavaFXpert" weblog for some example code. I'm also writing for Sun a series entitled "Creating Rich Internet Applications with Compiled JavaFX Script Technology".
"JavaFX is an order of magnitude faster and easier to use than traditional client Java...."
Harshad Oak >> Could you give us a high level overview of the steps involved in developing and deploying a bare bones JavaFX Script application and a JavaFX Mobile application?
Jim Weaver >> First I need to say that there are two versions of JavaFX Script in use today: The interpreted version, which is essentially a prototype, and the "real" version, which is compiled into JVM bytecode. The interpreted version has IDE plug-in support, so the development cycle can be very IDE-centric. I've been encouraging developers to move to compiled JavaFX Script because it's getting pretty solid, however IDE support isn't quite there yet. The development cycle that I use for compiled JavaFX Script is: