Surf the wave

GUI Choices

In the world of GUI programming with Ruby, a plethora of choices exist. In an
ideal world, cross platform support, moderately native GUI support and
specifically for NewsHeap the ability to render HTML are all requirements. One
could bend on the first and even the second, but to pull off the three pane
browser, the ability to display HTML credibly is a real necessity.

Ruby for Windows provides TK,
VisualuRuby, and
FXRuby. FXRuby sits ontop of
FOX, a cross platform GUI toolkit. The Ruby
bindings are rich and the programming model fairly simple. The rub with all
these choices is that there is no HTML display widget.
wxWindows is a great toolkit, but the ruby crew is
just getting off the ground with the Ruby bindings with
wxRuby. I'm quite confident
that wxRuby will rock when it emerges, but in the near term the choices are
limited.

Qt offers a windows version that is
free for non-commercial applications only and an excellent set of ruby
bindings exist: Ruby/QT2. QT provides a credible HTML
control, a powerful widget set.

The choice for NewsHeap is clear. Qt is the only viable choice for the near
term. See Ruby GUI Comparison for a more in depth look at GUI
offerings in the Ruby space.

I'm playing around with Ruby/Qt2 now and include this
screenshot. The code is
rough and experimental, so indulge me for a few time units while I clean up.