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

List:       ruby-talk
Subject:    Re: Need Help Selecting a GUI
From:       "Ara.T.Howard" <ahoward () noaa ! gov>
Date:       2004-05-15 21:43:53
Message-ID: Pine.LNX.4.44.0405151530520.14017-100000 () fattire ! ngdc ! noaa ! gov
[Download RAW message or body]

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 
===============================================================================


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

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