8u40 is released / SB

Doug Schaefer dschaefer at qnx.com
Thu Mar 5 19:55:57 UTC 2015

From: Mike Hearn <mike at plan99.net<mailto:mike at plan99.net>>
Date: Thursday, March 5, 2015 at 2:49 PM
To: Tomas Mikula <tomas.mikula at gmail.com<mailto:tomas.mikula at gmail.com>>
Cc: Doug Schaefer <dschaefer at qnx.com<mailto:dschaefer at qnx.com>>, "openjfx-dev at openjdk.java.net<mailto:openjfx-dev at openjdk.java.net>" <openjfx-dev at openjdk.java.net<mailto:openjfx-dev at openjdk.java.net>>
Subject: Re: 8u40 is released / SB

And then there are GroovyFX and ScalaFX, which embed the declarative
UI language in the host language. To me, FXML seems to be just
compensation for the lack of expressiveness in Java.

I think the main benefit of FXML is that Scene Builder and programmers can both work with it directly, regardless of which programming language the host app is written in. If there was no FXML and just things like ScalaFX, a visual UI builder would be a hopeless proposition.

I don’t disagree with that. FXML does fill that need well. But a program’s usability requirements is different from a person. As Benjamin mentioned, even HTML has more user friendly languages, like Jade which I’ve used in the past, that translate down to it so that humans have a better time.

And I do believe SB is a valuable tool for several reasons:

  1.  It's still much easier to get a layout looking exactly how you want with a visual designer. Even though JFX layout is more intuitive than most layout mechanisms I've used, it's still faster to do things visually.

  2.  For newbies to the framework i.e. almost everyone, a visual designer helps you explore the capabilities of the framework and is much easier to learn with than raw FXML + autocomplete. Of course once you master the framework this doesn't apply any more, but is still very important to start with.

  3.  For apps that have a split between the programmers and the visual designers, a tool is critical.

  4.  If/when SB eventually gets support for animations, that's another thing that's just a lot easier to do visually.

And that’s really crux of the matter. The complaint I hear about GUI building tools is that they don’t help with dynamic interfaces. A lot of GUI builders are stuck in the If/when phase for that. But is that which makes GUI frameworks like JavaFX so exciting.

That said, I'd love it if SB could have "Export to Java", "Export to ScalaFX" etc options too, if only because loading FXML seems to be kind of slow.

More information about the openjfx-dev mailing list