Ruby ile GUI Toolkits – 1

Merhabalar,

Bu yazımızda Ruby ile yazdığımız programlara bir arabirim eklemek istersek ne gibi alternatifler var, avantajları ne, dezavantajları ne gibi sorulara cevap arayacağız. Umarım buluruz ;)
Ruby Özgür ve açık kaynak kodlu olmasından dolayı, gÖrüntü arabirimi küyüphanesinde birkaç alternatif mevcut. Bunlardan başlıcaları; Tk, Ruby/GTK, Ruby/Qt, wxRuby, FxRuby/Fox ve VRuby şeklinde sıralanabilir.

Hepsi ile birer tane Örnek yapmak istiyorum, ama bu yazıda sadece bir tane yapabilirim ;) Ben derim ki listenin en kolayından başlayalım,
VRuby
Sadece Windows işletim sistemi için bir kütüphanedir. Windows için Ruby kurulumu olan One-Click Ruby Installer ile beraber gelir. Herhangi bir şekilde ekstra kurulum yapmaya gerek yoktur. Proje ile ilgili dÖkümantasyon çok kÖtü olmamasına rağmen oldukça azdır. Fakat bu sayfa başlangıç sayfası olarak kullanılabilir. Kütüphaneyi yapan kişiler Visual Basic kadar basit olması gerektiğine karar vermiş ve bu yÖndede çok güzel ve Önemli adımlar atmışlardır. Kütüphanenin kolay olan kullanımı ve ‘One-Click Ruby Installer’ ile birlikte gelmesi, Ruby programlarının Windows versiyonları için çok iyi bir avantaj olarak gÖze çarpar. Form Designer‘ı ve CHM dÖkümantasyonu ve bir çok Örneği mevcut olan VRuby, Windows için gerçekten çok güçlü bir alternatiftir.

Örneğimizi verecek olursak;
[ruby]
require ‘vr/vruby’
require “vr/vrcontrol”
require “vr/vrlayout”
require “vr/vrcomctl”
require “vr/vrhandler”

class SinamaForm < VRForm # Kapatma işleminin yakalanmasi için. include VRClosingSensitive # Form'un yapıcısı, işlemler ve üzerinde elementler eklenir. def construct self.sizebox=false self.maximizebox=false self.caption = 'Sınama' self.move(410,247,355,157) addControl(VRButton,'sayHello',"Merhaba !",40,56,120,32) addControl(VRStatic,'static1',"Kullanıcı Adı :",40,16,96,24) addControl(VRButton,'close',"Çıkış",216,56,64,40) addControl(VREdit,'userName',"",136,16,144,24) end # "Çıkış" methodu tıklandığında çalışır. def close_clicked # 4: MB_YESNO, 32: MB_ICONQUESTION r = messageBox("Emin misin ?", self.caption, 4 + 32) self.close if r == 6 # Form'u kapatır. self_close çalışmaz. end # "self.close" dışındaki kapatma işlemlerinde çalışır. def self_close # 4: MB_YESNO, 32: MB_ICONQUESTION r = messageBox("Emin misin ?", self.caption, 4 + 32) SKIP_DEFAULTHANDLER if r != 6 # 6: ID_YES end # "Merhaba" method'u tıklandığında çalışır. def sayHello_clicked messageBox("Merhaba, #{@userName.text}..!", self.caption) end end VRLocalScreen.showForm SinamaForm VRLocalScreen.messageloop [/ruby] Kod kendisini anlatacak kadar basit ve sade.. bu nedenle herhangi bir açıklama yazma gereği duymuyorum. Çalıştırdıktan sonra ekranda;
vruby01.JPG
vruby02.JPG
bu arabirimleri gÖrürüz. Neden “Çıkış”, “Merhaba” dan daha uzun diye sormayın ;)

Kolay gelsin..

Share