CSC/ECE 517 Spring 2013/ch1a c ct

From Expertiza_Wiki
Jump to navigation Jump to search

Overview

Ruby as a programming language has gained popularity in recent years (mainly due to the Rails web framework). There exists quite a few graphical user interface toolkits/frameworks for Ruby so that desktop GUI applications can be created. Most are simply bindings to existing GUI framework API's like Qt and GTK+. Shoes, on the other hand, is written for Ruby specifically. Two previous articles have made detailed comparisons between different toolkits by looking at various factors such as ease of installation, documentation, look and feel, and difficulty of usage. This article will give updates on GUI toolkits that has developed since the previous articles were written, as well as discuss any toolkits (worth mentioning) that were not present in the previous articles.


Current State of GUI Toolkits for Ruby

There is a number of Ruby GUI toolkits to choose from to create a desktop application. In one of the previous articles, an official 2008 Ruby GUI Survey was referenced to discuss the popularity of available GUI toolkits. For a quick recap, here is the result for the question "Which of the GUI toolkits do you currently use, and which do you think it's likely you'll use in the future?"

Survey Results
  1. Shoes
  2. Ruby-GNOME2/GTK
  3. wxRuby
  4. Ruby-Tk
  5. Ruby Cocoa/MacRuby
  6. QtRuby
  7. JRuby + Swing
  8. FxRuby
  9. JRuby + SWT


The Ruby Toolbox, a website that tracks the popularity of Ruby related tools by usage in open source projects, has a list of several toolkits under its "GUI Frameworks" category. The ranking in current popularity of GUI toolkits is as follows:

  1. Shoes
  2. FxRuby
  3. wxRuby
  4. QtBindings
  5. Ruby-GNOME2/GTK
  6. monkeybars
  7. FFI::Tk

Visual Ruby

Visual Ruby is designed to simplify the process of adding a GTK+ windows to Ruby applications. It is also designed to completely integrate with the Glade user interface designer.


Monkeybars

RuGUI

Links

Writeup

Previous Submission 1

Previous Submission 2