Shoes (GUI toolkit)
This article needs additional citations for verification. (August 2014) (Learn how and when to remove this template message)
|Original author(s)||why the lucky stiff|
|Initial release||July 30, 2007|
3.3.1 (Walkabout) / April 5, 2016
|Written in||Ruby and C, some Objective-C|
|License||MIT / Open source|
Shoes is a GUI toolkit based on the Ruby programming language. It was originally developed by why the lucky stiff, and others are carrying on with it after his disappearance. Shoes runs on Microsoft Windows, Mac OS X and Linux (GTK+), using the underlying technologies of Cairo and Pango.
Shoes' philosophy is one of simplicity. It's designed to make applications as easy as possible. Here's an example Shoes app:
Shoes.app :title => "Push Button" do @note = para "Nothing pushed so far" button "Push me" do @note.replace "Aha! The button was pushed!" end end
Shoes has all the common widgets you would expect for creating a graphical application as well as graphic primitives to draw art like lines, circles, and even physics (via Chipmunk) cRruby extensions. Shoes 3 includes it own embedded MRI/cRuby Ruby and does not require the end user to install Ruby. It provides a customized Rubygems environment that does not conflict with any existing Ruby that might exist.
Developers can also package up their scripts in several ways to easily share with other users who have Shoes installed. Advanced developers in Shoes 3 have many deployment options available including very platform specific applications with unique gems and their own custom installer to create their own unique Applications.
- _why releases:
- v1, "Curious"
- v2, "Raisins"
- Post-_why releases:
- v3.1, "Policeman"
- v3.2 "Federales"
- v3.3 "Walkabout"
The current release is version 3.3. which is MRI/cruby based. Shoes 4 is a major re-write for jRuby supporting the "Policeman" capabilities (API) and keeping the educational spirit of _why_the_lucky_stiff.
Shoes 3.3 embraces the unique things that MRI Ruby can do with native extensions and gems, even if they are platform specific. Shoes 3.3.1 reimplemented the video_widget in "Raisins", even if it won't work in all edge cases. It also includes an SVG widget and some manipulation abilities for svg files.
Shoe 3.3.2 (in beta) adds a profiler, a new optional command line terminal, byebug debugging and plot widget for drawing simple charts.