|
PHP-GTK I
Kuşkusuz PHP, Internet omurgasına bağlı sinir hücrelerinin en
önemlilerinden biridir. Bugün milyonlarca web sitesi PHP
aracılığıyla ziyaretçileriyle etkileşimli bir çatı altında
çalışabilmektedir. PHP, Microsoft gibi bir yazılım devini, betik
dilleri yarışında bir çok açıdan geride bırakmış, Perl'den doğmasına
rağmen onu da geride bırakmış ve sanal dünyaya en hakim betik dili
olmuştur.
.NET'in, Microsoft tarafından J2EE'ye karşı hamle olarak ileri
sürülmesi, özgür yazılımcıları da heyecanlandırmış ve yeni
arayışlara itmiştir. İşte PHP-GTK bu yeni arayışın ilk ürünlerinden
biridir.
Tanım: PHP-GTK, GTK+ fonksiyonlarını kullanıp, tek
başına çalışan, platform bağımsız, kendilerine ait GUI'lere sahip
uygulamar geliştirebilmemiz için ortaya çıkarılmış yeni bir
programlama teknolojisidir. Her ne kadar bir PHP Eklentisi olarak
adlandırılsa da yüklendiği görev üst düzeydir.
Bu teknoloji ile C++ içinde GTK fonksiyonlarını kullanmak ile
PHP içinde GTK fonksiyonlarını kullanmak artık çıktı üretimi
açısından fark etmemektedir.
Bununla beraber PHP-GTK istemci taraflı çalışması için
tasarlanmıştır. Web ortamında kullanılmaz. Yukarıda
ayrıntılandırdığımız gibi PHP-GTK'nın ortaya çıkış amacı
masaüstünde, tarayıcıdan bağımsız, ‘standalone' programlar
oluşturmaktır.
Bu da nereden çıktı? Güzel güzel Delphi, Visual Basic
kullanıyorduk Windows için program yazarken.
Linux'ta gcc c derleyicisi neyimize yetmiyordu ki?
C 'de yıllardır var olan süper bir dil... Hele bir de Ansi C
standartlarında yazarsak tam bir çoklu platform programcığına sahip
oluruz, değil mi?
Tam olarak değil, hepimiz farkındayız ki Ansi C ile yazdığımız
programcıklar bile bazen (benim gibi acemi programcıların
bilgisayarında çoğunlukla..) iki sistemde çalışmamazlık edebiliyor.
Bunda işlemci mimarisinden, bağlı kütüphanelerdeki bir virgülün
farklılığına kadar bir çok etken söz konusu. Bununla beraber Windows
için C++ ile geliştirilen bir uygulamanın da ne kadar zor
yazıldığını, ne kadar uğraş gerektirdiğini bu işle uğraşan her
programcı az çok bilmektedir.
PHP geliştiricileri, biz PHP programcıları gibi Windows ve
Linux'ta birlikte çalışabilecek bir program yazmak için alt yapının
tam olarak oturmadığının farkındaydılar. Her ne kadar Ansi C gibi
bir standart ile ya da Java gibi çoklu platform teknolojisi ile
bunun altından kalkılmaya çalışılıyorsa da eminiz ki Ansi C
standartlarında kod yazmak, ya da C++'a göre daha kolay olan fakat
geliştirilen uygulamaların hantal çalıştığı Java teknolojisi Ömer
Balyalı gibi bir lise öğrencisinin PHP kodlarken yaşadığı
rahatlığı ona sunmayacaktı.
Andrei Zmievski bunların farkında bir programcı olarak
PHP'yi standartlaşan bir betik dili olmaktan çıkarıp tarayıcı
bağımsız kullanıcı arabirimi bulunan bir dil haline getirmek için
PHP-GTK'yı programlamaya başladı.
Çok değil bir kaç yıl önce, Linux popülaritesinin zirvesine
ulaşırken, kullanıcılar bir şeylerin eksik olduğunun farkına
varmışlardı. Penguenin sevimli görünüşü grafik ve kullanıcı
arabirimindeki eksiklikler nedeniyle kullanıcıya bir soğukluk
veriyordu. Fanatikler –ki sisteme yararlıdırlar bence- dışında ki
herkes bu gerçeğin farkındaydı.
Bunun farkına varan linux topluluğu o sıralarda sisteme bir
fotoğraf stüdyosunun dahil edilmesini düşünüyordu. GIMP adı verilen
projede herşey çok güzel başladı fakat işler düşünüldüğü kadar hızlı
ilerlemeyecekti. Bir süre aynı yolda devam eden topluluk bir
standartlar kütüphanesinin GIMP'in araç kutusu için kesin bir
gereklilik olduğu kanısına ulaştılar: GTK+ ( G IMP T
ool K it)
GTK+ sadece GIMP ( G NU I mage M anipulation
P rogram ) için oluşturulan bir standartlar kütüphanesiydi.
Fakat bu kütüphane, yazılım dünyasını şaşırtacak biçimde oldukça
hızlı ilerledi ve linux dağıtımlarının en önemli iki kabuğundan
GNOME'un merkezi bir parçası haline geldi.
GTK+'nın hedefe yönelmiş olarak hareket ettiği, yukarıdaki
gelişmelerin hemen ardından Windows ve BeOS sürümlerinin çıkması ile
gayet anlaşılır hale geldi. Bu hamlelerin ardından, Zmievski
, PHP ile GTK'yı bir PHP eklentisinde toplayarak geleceğin çoklu
platform teknolojisini oluşturmak için kolları sıvadı.
ve Bugün.. Artık elimizde platform bağımsız, kullanıcı
arabirimine sahip ve tek başına çalışabilen uygulamaları, Linux,
Windows ve BeOS sistemlerinde çalıştıran bir programlama
teknolojisinin ilk kararlı sürümü var: PHP-GTK 1.0.0
Bu teknolojiyi şu an bilgisayarınıza indirme ve deneme şansına
sahipsiniz. Benim bilgisayarımda PHP-GTK 1.0 kararlı sürümü yüklü şu
an. PHP-GTK şu aşamada GTK+ Sürüm 2.x'i desteklemiyor. Fakat PHP
5'in çıkmasının ardından bu alanda büyük bir atılım olacak ve PHP-GTK'nın
çalışması için gerekli olan bütün teknolojiler birbirlerine entegre
olarak aynı anda duyurulacak.
>> PHP-GTK Sürüm 1.0.0 |
http://gtk.php.net/download.php
Ben aşağıdaki test uygulamalarını Windows XP üzerine PHP-GTK 1.0.0
kurulu makinemde gerçekleştireceğim.
Önce biraz kurulumdan bahsedeyim. PHP-GTK 1.0.0 kararlı
sürümünü bilgisayarınıza indirdikten sonra 3 dizin ile
karşılaşacaksınız; (İşlemlere başlamadan önce PHP dizininizin
yedeğini alın, ve onu ortadan kaldırın.)
- Winnt dizinindeki php.ini dosyasını kendi php.ini dosyanızla
değiştirin. (Unutmadan: php.ini dosyanıza çok fazla ayar girmişseniz
readme.txt dosyasını takip edin ve geçerli php.ini ayarlarınızı
koruyarak nasıl PHP-GTK kuracağınızı öğrenin.)
- PHP4 dizinindeki dosyaları X:\PHP\ dizinine kopyalayın. (X
sürücü harfiniz olmak üzere)
İşlem tamam. Şimdi bir test yapalım. Aşağıdaki komutu sürücü
harfini kendi sürücünüzünki ile değiştirerek girin.

İşlem düzgün tamamlanmış ise karşınızda şunu bulacaksınız;

Ne kadar hoş, öyle değil mi? En sevdiğim betik dilinden böyle bir
çıktı görmek inanın beni çok mutlu etti. Evet, eminim ki kodları
merak ediyorsunuz. Bu programın kodlarını görmek için x:\php\test\hello.php
dosyasını açabilirsiniz. Fakat bence şimdi açmayın...
Çünkü bu yazının sonuna geldiğinizde orada gördüklerinizi anlıyor
olacaksınız.
Her ne kadar burada PHP-GTK'yı, -içinde PHP olan bir teknolojiyi-
anlatıyorsakta bunun istemci taraflı bir teknoloji olduğunu tekrar
ifade etmekte fayda görüyorum.
Başa dönecek olursak, artık web için yazacağınız bir muhasebe
uygulamasını istemci tarafında tek başına (standalone) çalışır
olarak bulabileceksiniz.
Başta diğer diller ile PHP-GTK'nın çoklu platform bağlamında bir
karşılaştırmasını yaptık. Şimdi de istemci taraflı diller bağlamında
olaya yaklaşalım;
Visual Basic ve Delphi kolaylığı, hızlı çıktı üretimi ve görsel
avantajları ile yeni bir programcının programlamaya ilk adımı
atmasını sağlayan geliştirme ortamlarıdır. Fakat bu diller ile ciddi
projelere adım atmak ne kadar doğru, tartışılır. C++ her açıdan üst
düzey bir dil, fakat yukarıda da belirttiğim gibi bu dil ile windows
uygulamaları geliştirmek ciddi anlamda çaba ve iyi bir ekip
çalışması gerektiriyor.
Java, C++'a göre daha kolay öğrenilir ve daha kolay kodlanır.
Fakat onun da hantallığı ayrı bir dert.
Visual Studio ile yaptığımız projelerdeki sırt yükümüz framework
ise programcının ortam seçmesinde olumsuz bir etkiye sahip.
İşte bütün bu dillerin yanında PHP-GTK'nın niteliğini düşünecek
olursak, PHP-GTK henüz tam anlamıyla bir standart değil. Eksikleri
var. Fakat GTK+'nın gelişimi göz önüne alındığında hızlı
ilerleyeceği kesin. Ben PHP 5 ile PHP-GTK'nın da büyük bir atılım
yapacağı kanaatindeyim. Bunun yanısıra PHP-GTK'nın yapısal olarak
PHP'den çıkan bir dil olması, şüphesiz PHP bilenlerin bu dile
geçişini kolaylaştıracak bir etken.
Tabii görsel arayüz oluşturmak için birkaç yeni şey öğrenmemiz
gerekecek. Sanılanın aksine PHP-GTK'ya başlayacak bir programcının
PHP'yi biliyor olması kesin bir avantaj sağlar. Örneğin PHP'de üst
düzey bir programcı olan Ertuğrul Yıldırım (HunTER) dostumun
PHP-GTK ile ortaya nasıl programlar çıkarabileceğini gerçekten çok
merak ediyorum.
Evet, temel noktaları bitirdik. Buraya kadar PHP-GTK'nın ne
olduğunu, hangi aşamalardan geçerek bugüne geldiğini ve ne
olmadığını anladık ve onu bilgisayarımıza kurup küçük de bir
uygulama çalıştırdık. Sadece gelecekte ne olabileceğine değinmedik,
fakat bu yazıyı okuduktan sonra gelecekte ne olabileceği kafanızda
belirecektir.
Kaynak:
Ersin ARSLAN |