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.