On 15 May 2004, Bill Atkins wrote: > 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) 6. webrick + native browser you're program spawns a webserver (fork or popen) and then spanws a browser pointing at it. the webrick server IS the ui. pros: works on *nix, windoze, mac. familiar ui. extremely quick to code. cons: limiting ui (but what do you really need for an im client?) just something to consider - i had managed to make this work in 30 lines of code or so a while back - now i can't seem to find it, but it's pretty straightword: url = start_server require 'rbconfig' case platform when /*nix/ start_nix_client url when /windoze/ start_windoze_client url when /mac/ start_mac_client url end -a -- =============================================================================== | EMAIL :: Ara [dot] T [dot] Howard [at] noaa [dot] gov | PHONE :: 303.497.6469 | ADDRESS :: E/GC2 325 Broadway, Boulder, CO 80305-3328 | URL :: http://www.ngdc.noaa.gov/stp/ | TRY :: for l in ruby perl;do $l -e "print \"\x3a\x2d\x29\x0a\"";done ===============================================================================