[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ruby-talk
Subject:    Need Help Selecting a GUI
From:       dejaspam () batkins ! com (Bill Atkins)
Date:       2004-05-15 13:18:51
Message-ID: e6056acc.0405150514.6e085bdb () posting ! google ! com
[Download RAW message or body]

As anyone can tell by looking at the topics of my recent posts, I'm
having trouble picking a Ruby GUI to use for a project.  Here are some
of the toolkits I'm considering and the pros and cons of each.  My
project, by the way, is a simple open-source, instant messaging client
that would have to work on Windows and NIX systems.

1. Tk
pros: comes with Ruby; pretty much everywhere; powerful TkText widget
cons: messy, mostly undocumented API; unconventional appearance;
requires tcl; no tree control; it's Tk :)

2. FOX
pros: consistent and attractive appearance; very OO
cons: no substitute for TkText - FXScintilla might do the trick, but
it's API is a lot more complicated than TkText; somewhat C++-ish API;
FxTreeList doesn't allow setting styles for individual items

3. Qt
pros: supposed to be really nice
cons: costs money on Win32 - out of the question

4. Gtk
pros: plenty of widgets; antialiasing
cons: supposed to be unstable on Win32; requires large download on
Win32 machines; X-ish interface

5. Wx
pros: well-designed Rubyish API; supports changing tree item styles;
seems pretty stable for a young project; native widgets
cons: brand new - could have problems; on Linux, requires a large
download (wxGTK) in order to work (6MB)

Wx would be my choice except that it requires such a large download on
Linux.  I would really prefer that the user download as little as
possible, aside from Ruby itself.  Considering that my project's
source will be under 300K, it seems silly to require large GUI
downloads just to make it work.

Also, antialiased fonts would be extremely nice, but no toolkit seems
to support them, except Gtk (right?) which I can't use because of the
large Win32 dependencies.

Any thoughts on these?

Bill

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic