Shoes (GUI toolkit)

Shoes (doslovno "cipele") jest jednostavan GUI, grafički korisnički interfejs, baziran na tehnologijama kakve su: Ruby (programski jezik: language interface), Cairo (kontrola za crtanje grafike: vector graphics-based software library) i Pango (kontrola za HQ tekst: open source computing library for shaping internationalized texts in high quality).

Razvio ga je programer koji se krije iza imena/aliasa why the lucky stiff, zajedno sa grupom saradnika. Jednostavnost ovog interfejsa dozvolit će i osobama sam oskudnim, ili čak nikakvim iskustvom u programiranju da naprave aplikacije za vrlo kratko vrijeme. Autor je htio da obiđe previše komplikvane procedure i slojeve koje imaju wxWindows, FOX, QT ili GNOME - gdje aplikacije izgledaju identično, bez duha. "Shoes je rođen da bude lagan za korisiti. Namijenjen je apsolutnim početnicima." Nema previše koda i bez velikih je ambicija. Najvećim dijelom, Shoes je inspirisan web-om. Jedinstvena stvar za web je da ima jako malo kontrola, ali s druge strane omogućava da se napravi veliki broj različitih stranica koje se odmah dostupne za pregled.

Prvo oficijelno izdanje Shoes je doživio 8. januara 2008. godine. Imao je podršku za OS X, Windows i GTK+, te VLC kontrolu za "ugradnju" videa u aplikaciju. "Why" je napustio dalji razvoj ovoj grafičkog interfejsa, a grupa entuzijasta je uspjela da prikupi source fajlove i održi projekat u životu, nadajući se da će ga s vremenom unaprijediti. Poslijednja verzija je Shoes Raisins 0.r1134 + video.

 Princip 
Shoes funkcioniše na principu zamišljenih polja zvanih "stacks" (svežnjevi, kamare) i "flows" (tokovi). Ideja je jako jednostavna: u stack se redaju elementi vertikalno, a u flow horizontalno. Moguće je čak i kombinovati jedne s drugima tako da jedan stack sadrži par flow-a ili obrnuto.

 Elementi 
Shoes ima slijedeće operabilne elemente:

 Background (podloga)
 Border (granične linije)
 Button (dugme)
 Check (polje za selekciju)
 EditBox (polje za višelinijski unos teksta)
 EditLine (polje za jednolinijski unos teksta)
 Image (slika)
 ListBox (lista)
 Progress (polje za prikaz napredovanja nekog procesa)
 Radio (polje za isključivo jedan odabir)
 Shape (geometrijski oblik)
 TextBlock (blok teksta, nalik na kontrolu "Label" u nekim programskim jezicima)
 Timers ("štoperica" koja izvršava određenu metodu nakon određenog broja milisekundi)
 Video

 Primjer 

Shoes.app(:title => "WIKIPEDIA", :width => 360, :height => 240, :resizable => false) do
flow do
image "http://upload.wikimedia.org/wikipedia/bs/b/bc/Wiki.png"
end

para "Pretraga", :margin => 5

flow :margin => 5 do
edit_line
button "Idi"
button "Trazi"
end

end

 Vanjski linkovi 
 Shoes homepage

Kategorija:Programiranje