Currently on the desktop, JavaFX uses Swing "under the covers", so it leverages the power of Java Swing but is *much* easier to use because of its declarative scripting. One very nice thing about JavaFX Script in that regard is that layout managers are placed into the UI containment hierarchy. See the
JavaFX Script Calendar that Displays a Google Calendar Feed post for an example of this. That program also shows how JavaFX Script can communicate over HTTP to a server, in this case using XML as the data transport protocol.