Shoes est un toolkit expérimental de GUI simplifié basé sur le langage de programmation Ruby, et développé par Why the lucky stiff. Sa simplicité le rend idéal pour les débutants en programmation et pour l'apprentissage. Shoes est disponible sous Microsoft Windows, Mac OS X, Linux et BSD, se basant sur les technologies GTK+, Cairo et Pango. C'est un logiciel libre distribué selon les termes de la licence X11 (ou licence MIT).
Sa syntaxe est basée sur les concepts de piles et de flux (stacks and flows) qui correspondent, basiquement, dans Shoes aux fenêtres et à leur contenu (verticalement et horizontalement respectivement). Divers concepts, principes et aspects syntaxiques de Shoes sont inspirés de NodeBox, REBOL et Processing, entre autres.
Ces quelques lignes de code montrent comment construire une fenêtre avec un bouton changeant le message affiché de « Nothing pushed so far » à « Aha! Click! » :
Shoes.app {
@push = button "Push me"
@note = para "Nothing pushed so far"
@push.click {
@note.replace "Aha! Click!"
}
}