Why JavaFX is Intriguing for Java Developers
- Java FX Script is consistent: everything is an expression. Knowing that helps a lot.
- Additional access modifiers (script-only, public-read, public-init) allow leaner approaches for building, not only visual, components.
- The "skeleton" of a Java FX application is the scene graph. It is a tree structure starting with stage, scene, and has nodes as leaves. It represents a platform independent model of any visual application. You could actually map this "meta-tree" to any technology you want. I believe this exactly happens in the desktop and mobile profiles (requires further investigation :-)).
- There is no additional ceremony required to call Java objects: it is straight forward. Existing Java code can be easily reused.
- RESTful (JSON/XML) communication is supported out-of-the-box.
- The "bind" operator enables building of lean Model View Presenter (Passive View / Supervising Controller) applications with clean seperation of concerns. Modification of variables and even functions are tracked directly, without implementing PropertyChangeListeners etc.
- Triggers killed getters and setters. You can expose attributes directly and intercept the calls when needed.
- Java FX Script is perfectly suitable for building casual and not only "flashy" applications. The majority of Swing components are already exposed to Java FX script.
- Domain specific extensions like the duration datatype or frame-based animation framework make the development of animations easier.
- Java FX Script integrates very well with applets and webstart. It is a natural extension of Java-based RIAs. The idea of dragging an applet out of the browser and installing it as an application is simple, but really good :-).