Je suis un sinistre pouilleux pour tout ce qui est applications avec GUI (Graphical User Interface). J'avoue. Mais j'ai de bonnes excuses (ou presque) :
- C'est pas évident (le code est souvent moche).
- On m'a pas appris (le Ruby non plus cela dit...)
- Ça me gonfle (très) violemment.
Alors pour rappel,
en Ruby, on a pour les plus connues (je vous mets pas les liens, la plupart sont sur RubyForge ou carrément dispo sous forme de gemmes) :
- Tk (Tk/tcl) : pas glamour du tout.
- wxRuby (interface vers wxWidgets) qui me plaisait bien parce qu'elle utilise les widgets natifs de chaque OS, mais plus compliquée...
- Ruby/GTK que j'ai pas creusée.
- RubyCocoa exclusivement pour MacOS X (et votre serviteur est pour la compatibilité).
- FXRuby interface vers FOX-GUI mais ça me paraissait pas fabuleux.
- Qt, mouais.
- Sans doute plein d'autres excellentes que je n'ai pas le bonheur de connaître.
Et puis je suis tombé un peu par hasard sur
SHOES (voui voui, comme les chaussures...).
En fait non. Pas par hasard. Ca faisait un moment que je me demandais si
Why's était (comme moi) fan de sneakers ou s'il s'agissait d'un de ces codes... Comme quoi, l'anglais, ça se travaille.
Bref, c'est
un GUI toolkit pas vraiment comme les autres, assez simpliste, avec beaucoup de choses issues du développement web, prenant les widgets natifs des OS, mais qui pourrait être idéale pour les branl0s dans mon genre qui ne supportent pas de se pencher plus de 5 minutes sur ces trucs de fourbes... si seulement il y avait une vrai doc ! Mais
Why's le dit lui même (le projet est sous license très libre) :
Yes, well, the docs situation is kinda lame. NKS is purely for carnal pleasure. Naw, actually, yeah, who really knows what it’s good for. Roll it up and smoke it.
En gros : la doc est naze ; hackez les enfants ! Bon ben allons-y !
Shoes.app :width => 300, :height => 220 do
image "static/shoes-icon.png", :top => 55, :left => 86
@in = edit_line :width => 250, :left => 25
button "Do you know SHOES, folks ?", :left => 60, :top => 25 do
alert @in.text
end
end
Ce petit code est allègrement dérivé d'un des samples fournis avec Shoes. Il propose une barre de texte à remplir @in, une image .png (.gif et .jpeg également supportés) et un bouton qui va nous renvoyer un message d'alerte avec pour texte ce que l'on a tappé dans @in... En image :

Okay, c'est pas encore la gloire, mais faut reconnaître que
le code n'est pas bien long... Pour les noobinards qui n'arrivent pas à démarrer : lancer l'exécutable de Shoes puis donnez lui à manger un petit fichier
.rb avec ce qui est écrit au-dessus. L'image utilisée est déjà dans le bon répertoire.
Je vais essayer de tripatouiller ça un peu, et si j'en sors un petit truc marrant, je vous fais signe !
Liens en vrac :Faites moi signe si vous hackez des trucs marrants (ou utiles, mais c'est moins... voilà quoi ! ^^) !
Les pompes de la premières photos, pour les curieux, sont des Nike Air Force I Premium Low Red, uniquement dispos aux USA, chez Footlocker. Oui, elles arrachent.