I recently read a bit about a declarative UI language, using Java/Swing.

The language is now named JavaFX Script Language, previouly F3, see the getting started page. The original swing support tutorial is available here.

The official page for the JavaFX language is available at openjfx. See the language description on Wikipedia.

While I was reading the swing tutorial I started thinking of how close the same declarative could be expressed in Ruby running with JRuby (a Ruby interpreter written in Java, 100% pure Java).

So I started writing a proof of concept... I named swiby (Swing with Ruby)

I won't write a full tutorial here, just a short introduction. The project is only experimental, I reached a point showing my idea was realistic and I don't plan to go on right now.

Two things interrested me in F3: the declarative approach for Swing GUIs and the automatic data binding. As a reflection on defining the declarative Swing was already made by F3 author (Chris Oliver), I relied on it. But, while working on it, I found we could go some step further. I didn't really take any decision but, for this project to go on, a reflection on a very clear definition is required.


Jean Lazarou


January 20, 2007