CSC/ECE 517 Spring 2013/ch1a c ct: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 45: Line 45:


== Monkeybars ==
== Monkeybars ==
Monkeybars is a library that enables the use of Swing from JRuby. Monkeybars aims to allow you to continue using the GUI editing tools you are used to but makes it easy to write all your application logic in pure Ruby.  
[https://github.com/monkeybars/monkeybars-core Monkeybars] is a library that enables the use of Swing from JRuby. Monkeybars aims to allow you to continue using the GUI editing tools you are used to but makes it easy to write all your application logic in pure Ruby.  


It should be noted, however, that monkeybars should not be the first choice if you're looking to quickly create a GUI application. The time to get one of these projects up and running requires many more steps compared to other libraries. However, if creating Swing applications with Ruby is what you're looking for, this may be the choice.
It should be noted, however, that monkeybars should not be the first choice if you're looking to quickly create a GUI application from scratch. The time to get one of these projects up and running requires many more steps compared to other libraries. However, if creating Swing applications with Ruby is what you're looking for, this may be the choice.


=== Installation ===
=== Installation ===

Revision as of 00:25, 9 February 2013

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+, so they may seem awkward and unfitting to the Ruby language's style. 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 other toolkits 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 (Feb 2013) of GUI toolkits is as follows:

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


Although this list is not as scientific as the official survey result, it does reflect current project usage quite well, and it shows the general acceptance of a particular toolkit. We can see by comparing the two lists that the most popular toolkits (Shoes, FxRuby, wxRuby, Ruby/GTK) are still relevant today. Shoes has proven to be popular since its creation in 2007. Most of the other toolkits remain active projects, judging by the dates of code commits of their respective repository. One main exception is wxRuby. wxRuby has not seen a release since September of 2009 even though wxWidgets, the C++ GUI library which wxRuby is based, is still in active development.

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.

Installation

  1. Install Ruby 1.9.3
  2. Install Glade and GTK
  3. Install and run Visual Ruby
>> gem install visualruby
>> vr

Monkeybars

Monkeybars is a library that enables the use of Swing from JRuby. Monkeybars aims to allow you to continue using the GUI editing tools you are used to but makes it easy to write all your application logic in pure Ruby.

It should be noted, however, that monkeybars should not be the first choice if you're looking to quickly create a GUI application from scratch. The time to get one of these projects up and running requires many more steps compared to other libraries. However, if creating Swing applications with Ruby is what you're looking for, this may be the choice.

Installation

  1. Install Java and JRuby
  2. Install Monkeybars
>> gem install rawr ––source http://gems.neurogami.com
>> gem install monkeybars ––source http://gems.neurogami.com

To create a new project directory

>> monkeybars test_project

After creating a new monkeybars project, follow the detailed tutorials here to configure your project.

FFI-Tk

FFI-Tk is a pure Ruby FFI (foreign funciton interface) wrapper for the Tk GUI toolkit.

Installation

gem install ffi-tk

Links

Writeup

Previous Submission 1

Previous Submission 2