Thursday, September 10, 2020

Glimmer DSL for Tk has arrived!

Glimmer DSL for Tk has arrived as an experimental alpha 0.0.1 gem

Glimmer was originally created on top of SWT because Tk did not support native GUI widgets on Mac, Windows, and Linux back in 2007. Tk used to be more akin of Java Swing, having painted widgets that looked foreign on all platforms.

Tk 8.5 changed that by supporting native themed widgets.

Glimmer was also originally created on top of JRuby because standard Ruby did not have truly parallel multi-threading, required for desktop application development to run jobs in the background while letting the user interact with the GUI in the foreground.

Upcoming Ruby 3.0 changes that by finally supporting truly parallel multi-threading via Ractor (formerly known as Ruby Guilds).

SWT is a highly proven GUI toolkit in the Java world, with the best example being the Eclipse IDE.

Tcl/Tk is also a very proven and stable GUI toolkit, especially as the default toolkit for a number of languages like Ruby and Python.

The trade-off is that while SWT provides a plethora of high quality reusable widgets (such as Nebula) for the Enterprise, Tk enables very fast startup time via MRI Ruby.

Below is the project README with a Hello, World! GUI code sample.

Happy Glimmering!

No comments: