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 leafs. 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 - its 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 perfect suitable for building casual and not only „flashy“ applications. The majority of Swing components is already exposed to Java FX script.
- Domain specific extensions like the duration datatype or frame-based animation framework makes 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 install it as an application is simple, but really good :-).
Online workshop: Java EE 7 Bootstrap