# Ruby and GUI

**URL:** <https://www.ruby-forum.com/t/ruby-and-gui/64628>\
**Category:** Ruby\
**Created:** [August 15, 2006, 2:11pm UTC](https://www.ruby-forum.com/t/ruby-and-gui/64628 "2006-08-15T14:11:52Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![indianguru](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3bc359/32.png) [@indianguru](https://www.ruby-forum.com/u/indianguru)\
**Post date:** [August 15, 2006, 2:11pm UTC](https://www.ruby-forum.com/t/ruby-and-gui/64628/1 "2006-08-15T14:11:52Z")

</div>

I am new to Ruby and wanted to explore ways to create a GUI (on  
Windows) in Ruby. What I have gathered so far is that the following  
libraries exist to create a GUI:

a. Ruby Tk - it’s language-independent, cross-platform and comes  
standard with most Ruby distributions. However, there is no Ruby/Tk  
book or documentation to make good use of this library, especially  
since I have no Perl background.

b.wxRuby - It’s a third party download and works on Windows, Unix and  
Mac OS X. It has many more features than Tk but the writing code in it  
is quite complex.

My questions are:

a. Is my above brief assessment correct?  
b. Is there a book or documentation on Ruby/Tk?  
c. Is there any good documentation on wxRuby  
d. Which according to the experts here, is the best library to use to  
build GUI on Windows and why?

Thanks.

---

<div class="post-metadata">

**Author:** ![indianguru](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3bc359/32.png) [@indianguru](https://www.ruby-forum.com/u/indianguru)\
**Post date:** [August 15, 2006, 2:11pm UTC](https://www.ruby-forum.com/t/ruby-and-gui/64628/2 "2006-08-15T14:11:54Z")

</div>

On 8/10/06, Satish T. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I am new to Ruby and wanted to explore ways to create a GUI (on  
> Windows) in Ruby. What I have gathered so far is that the following  
> libraries exist to create a GUI:
> 
> [snip]

Hi,

You’ll want to search the mailing list archives for “Ruby GUI” – you  
should find lots of stuff. This question is asked pretty regularly.  
Note, this list is mostly mirrored on comp.lang.ruby, so you might try  
searching there as well.

—John

---

<div class="post-metadata">

**Author:** ![indianguru](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3bc359/32.png) [@indianguru](https://www.ruby-forum.com/u/indianguru)\
**Post date:** [August 15, 2006, 2:12pm UTC](https://www.ruby-forum.com/t/ruby-and-gui/64628/3 "2006-08-15T14:12:34Z")

</div>

John G. wrote:

> On 8/10/06, Satish T. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > I am new to Ruby and wanted to explore ways to create a GUI (on  
> > Windows) in Ruby. What I have gathered so far is that the following  
> > libraries exist to create a GUI:
> > 
> > [snip]

Hi,

I saw somewhere on the Net recently that wxRuby development is slow or  
stopped - not sure why, and unlike wxPython - though both wxRuby and  
wxPython are based on the same underlying wxWindows/wxWidgets C++  
cross-platform GUI toolkit). The same web page also said (in reply to a  
question similar to yours) that FxRuby seems to be a better option  
than wxRuby (considering all factors together, not necessarily just on  
technical merits, e.g. could have been referring to the fact that  
wxRuby dev. is slow/stopepd). Don’t know more than this as of now.  
FXRuby is based on the Fox toolkit, a C++ GUI toolkit.

FXRuby: [http://www.fxruby.org/](http://www.fxruby.org/)

Fox toolkit: [http://www.fox-toolkit.com/](http://www.fox-toolkit.com/)

HTH  
Vasudev

---

<div class="post-metadata">

**Author:** ![indianguru](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3bc359/32.png) [@indianguru](https://www.ruby-forum.com/u/indianguru)\
**Post date:** [August 15, 2006, 2:13pm UTC](https://www.ruby-forum.com/t/ruby-and-gui/64628/4 "2006-08-15T14:13:47Z")

</div>

It depends on whether you want cross-platform or not. If you don’t  
care, you can use RubyCLR with Windows Forms or the new Windows  
Presentation Foundation libraries.

See this for a screenshot of a WPF version of irb:  
[http://www.iunknown.com/articles/2006/07/27/oscon-day-3-and-a-better-ruby-ide](http://www.iunknown.com/articles/2006/07/27/oscon-day-3-and-a-better-ruby-ide)

That should give you a better idea of what’s possible using WPF (and  
that’s really just scratching the surface of WPF).

The downside of WPF is that it’s insanely overengineered and complex -  
think of it as a low-level rendering library and you’ll do fine. To  
get stuff done, use Windows Forms.

-John

> **[John Lam's Blog](https://www.iunknown.com/)**
>
> Since 1997

---

<div class="post-metadata">

**Author:** ![indianguru](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3bc359/32.png) [@indianguru](https://www.ruby-forum.com/u/indianguru)\
**Post date:** [August 15, 2006, 2:15pm UTC](https://www.ruby-forum.com/t/ruby-and-gui/64628/5 "2006-08-15T14:15:59Z")

</div>

On 8/10/06, Satish T. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ## Mac OS X. It has many more features than Tk but the writing code in it Thanks.
> 
> Satish T.

fxruby is quite good. has been the best gui binding for ruby for a  
long time. now there are pretty many alternatives: beside what you  
already mentioned there are also good ruby bindings for GTK and Qt.

to answer your last question: there is no best toolkit. there may be a  
best one for a specific purpose. i remember an article at freshmeat  
that compared gui toolkits. i chose my preferred toolkit (fxruby) with  
help of the information gathered there.

> **[Best Open Source Mac Software Development Software 2023](https://sourceforge.net/directory/software-development/mac/)**
>
> Compare the best free open source Mac Software Development Software at SourceForge. Free, secure and fast Mac Software Development Software downloads from the largest Open Source applications and software directory

there is quite an introductory document for the fxruby toolkit for its  
gui builder foxGUIb:  
foxGUIb: [http://fox-tool.rubyforge.org/](http://fox-tool.rubyforge.org/)  
User Guide: [foxGUIb guide - Start here](http://www.mikeparr.info/rubyguib/foxguibhome.htm)

hope this helps,  
– henon

---

<div class="post-metadata">

**Author:** ![indianguru](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/3bc359/32.png) [@indianguru](https://www.ruby-forum.com/u/indianguru)\
**Post date:** [August 15, 2006, 2:22pm UTC](https://www.ruby-forum.com/t/ruby-and-gui/64628/6 "2006-08-15T14:22:18Z")

</div>

On 8/10/06, vasudevram [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I saw somewhere on the Net recently that wxRuby development is slow or  
> stopped - not sure why, and unlike wxPython - though both wxRuby and  
> wxPython are based on the same underlying wxWindows/wxWidgets C++  
> cross-platform GUI toolkit).

wxRuby development is slow (at times), but definitely not stopped.

FXRuby is probably a good choice for you to check out if you need to  
get started with something right now. As GUI toolkits for Ruby go,  
it’s relatively mature and stable. Other good choices to check out are  
Ruby/GTK and Ruby/Qt (in addition to the previously mentioned  
Ruby/Tk).
