"Bill Guindon" <agorilla / gmail.com> wrote:
> > What is the best one for a newbie to get a handle on?
>
> These may help:
>
> http://www.rubygarden.org/ruby?ComparingGuiToolkits
> http://www.rubygarden.org/ruby?ComparingGuiToolkits/TakeTwo
>
http://freeride.rubyforge.org/wiki/wiki.pl?GUIFrameworkProject/GUIComparison
>
> I haven't used one yet, but based on what I read in the comparisons,
> I'm leaning towards Wx.

I was recently trying to decide on a GUI toolkit to use with Ruby and ended
up with wxRuby. I'd probably choose it again (it is the best of a bad bunch,
although I haven't looked at WideStudio).

However, it has some problems, mainly because it is quite young:

- It is remarkably unstable on Windows. Whether this is wxRuby, wxWindows,
or the way I use them, I don't know. The same code using wxRuby on GTK has
been fine so far.
- There are a few bugs and quite a few missing calls, especially with menus.
- Error checking is virtually nonexistent. It will segfault if you pass the
wrong type of argument into pretty much any method.
- There are few documents. However, this is a problem with all the other
toolkits and I find that the wxRuby examples are okay and the C++ docs at
wxwindows.org map (usually!) fairly well to wxRuby. Still, be prepared to
read the source occasionally to figure out just what wxRuby is expecting for
some methods.
- The style can feel quite alien to Ruby, but it is fairly easy to map into
a Ruby program.
- I think this is mainly a wxWindows problem but some things (particularly
layout, sometimes) really don't work the way you would expect.
- It looks like the current version has been pretty much abandoned and work
is going on on a version using SWIG. So it seems that if you have any
problems with 0.6, you are stuck with them for now :-).

Saying all that, in my opinion wxWindows is reasonable pretty - unlike Fox
which is unusably ugly -, lighter and more free than Qt (not to mention the
fact that google fails to turn up a website for ruby-qt and it doesn't
appear in FreeBSD ports, making it useless for me) and better documented
than Ruby/GTK.

-- Nicholas.