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.
