CSC/ECE 517 Fall 2010/ch1 S10 GP

From Expertiza_Wiki
Revision as of 07:50, 8 September 2010 by Gbchidam (talk | contribs)
Jump to navigation Jump to search

GUI Toolkits for Ruby

Traditionally, Ruby is a command line tool. Most Ruby commands are entered as text in a terminal and provide output to the user in the text form. Actually, the Ruby interpretor is not bound to any program development environment. Ruby programs can be typed in any editor and there are a lot of libraries to provide Graphical User Interface (GUI). This article discusses various GUI toolkits for Ruby, right from traditional to the most popular toolkits.

Introduction

Standard Inbuilt Toolkit library

The 'Tk' library is provided along with the standard Ruby distribution. Tk is an open source, platform independent toolkit. It is well-suited for cross-platform application development. Tk provides a number of widgets commonly needed to develop desktop applications such as button, menu, canvas, text, frame, label etc.

Advantages

  • Tk is perfectly functional and easily available
  • Bindings are built-in to some ruby distros
  • It is easily customizable and configurable

Disadvantages

  • Ugly looking and code also looks ugly
  • Does not support native widgets

Thirdparty Toolkits

There are a lot number of toolkit libraries for Ruby provided by third-party vendors. Mostly these are wrappers around toolkits written in C and C++. Many of these toolkits may not support cross-platform application development.

Ruby Exclusive Toolkit

Shoes is a library implemented exclusively for Ruby. It is one of the most popular toolkits for Ruby.

Recent libraries associated with the development environment

Recent Ruby implementations have their own GUI facilities provided by toolkits associated with the environment. Some of them are Cocoa for MacRuby and Swing for JRuby.

Comparison of various Toolkits

Selecting the appropriate Toolkit

No toolkit can be considered the best available toolkit for Ruby. Users can select the appropriate toolkit based on their own requirements. The following are some of the parameters that can be considered for selecting the appropriate Ruby toolkit.

  • Ease of distributing applications
  • Web-based documentation
  • Availability for relevant platforms
  • Maturity / stability
  • Appearance / aesthetics
  • Licence compatible with open source use
  • API programming style
  • Ease of installation
  • Range of features / widgets
  • Community support
  • Speed / performance
  • Internationalisation support
  • Licence compatible with commercial use
  • Accessibility features
  • Availability of extra tools
  • Familiarity of toolkit other languages
  • Paper-based documentation

Conclusion