From: Mike Hearn <[email protected]<mailto:[email protected]>>
Date: Thursday, March 5, 2015 at 2:49 PM
To: Tomas Mikula <[email protected]<mailto:[email protected]>>
Cc: Doug Schaefer <[email protected]<mailto:[email protected]>>, 
"[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
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.

Reply via email to