Java FX Script is consistent: everything is an expression. Knowing that helps a lot.
access modifiers (script-only, public-read, public-init) allow leaner
approaches for building, not only visual, components.
"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.
"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.
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 :-).