18.02.2014 Permalink
Although my time for working on my hobby project visuals
is currently very limited I have made some progress.
Visuals is a Clojure library for JavaFX GUI development. It has a reactive core and allows
specification of forms in an internal DSL.
The library is still in its very early stages but so far it looks promising.
Tonight I managed to bring instant feedback to the lifecycle:
In 2011 I started to develop an
external GUI DSL
for a customer based on an older version of
Xtext.
This made it into production and I have learned that the textual approach was actually the right choice.
An internal DSL with Clojure has its pros and cons compared to the
Xtext thing. It's actually simpler to build despite the lack of
specialized tools. It doesn't affect the build process at all. It
allows for great interactivity, not only for form building but also
for working with the data within forms. The downside of an internal
DSL is the non-existent editor support, at least with an editor like
Emacs. Therefore structural complexity must be limited, otherwise
using such a DSL becomes a nightmare. A great plus of such simple
internal DSLs with Clojure is that they perfectly compose with
existing Clojure core functions because instances of models are merely
Clojure data.
My conclusion for this specific DSL area is that you win a lot through Clojure, and loose a little
due to the far lower 'technological footprint'.