QML vs. FXML

Tom Schindl tom.schindl at bestsolution.at
Thu Mar 5 18:33:16 UTC 2015


Hi,

First of all by default FXGraph "compiles" to FXML, that's also the
reason why we currently don't allow you to write event-handlers inside
the FXGraph file (from a technical point of view there's no reason why
we should not be able to do that) but that would render us incompatible
with FXML.

What do we have:
* FXGraph => FXML transition
* FXML    => FXGraph transition
* FXML    => Java transition (you can run that as part of the build)
* LivePreview inside IDE while defining FXGraph / FXML - maybe this is
  the fast turn around stuff Doug talks about?)
* A specialized FXMLLoader who first checks if the FXML file has not
  been compiled to Java code already as part of the build process
  otherwise it will load the FXML file using the default loader (or
  this is the fast turn around Doug talked about?)

FXML => Java translator:

Main reason for that is speed on constrainted devices
 - allowing you to run on profile1 instead of profile2 because of
   the need for an XML parser
 - no reflection overhead

I guess RoboVM or ART would also welcome bytecode they can translate to
native code instead of providing the full reflection stuff.

As of today the tooling works only on Eclipse but because Xtext is
coming to IntelliJ IDEA we'll soon maybe also support that IDE.

The FXML => Java compiler is plain java code, we currently ship an
ant-task but it should be trivial to provide maven support, not sure
about gradle but someone who knows that platform should be able to call
out to our APIs.

Tom

On 05.03.15 17:03, Doug Schaefer wrote:
> Yes :). Tom has dome some great work supporting JavaFX in the community.
> 
> Now, I think you still need to compile FXGraph to something. The important
> requirement for declarative UI is the quick edit/reload cycle. Having the
> ³compiler² in the run-time would be needed for that, which is what QML,
> and FXML for that matter, offer.
> 
> On 2015-03-05, 10:55 AM, "Werner Lehmann" <lehmann at media-interactive.de>
> wrote:
> 
>> Like this?
>>
>> http://wiki.eclipse.org/Efxclipse/Tooling/FXGraph
>>
>> On 05.03.2015 16:23, Doug Schaefer wrote:
>>> You really want to use a domain specific language that¹s easy to read
>>> and write. QML is that. I find XML tags overwhelm the rest of the
>>> text making it hard to understand what¹s going on, and hard to write
>>> unless you have a good XML editor.  QML has less cruft and it¹s
>>> easier to see what¹s happening with a quick glance.
>>
> 


-- 
Thomas Schindl, CTO
BestSolution.at EDV Systemhaus GmbH
Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck
http://www.bestsolution.at/
Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck


More information about the openjfx-dev mailing list