original in en Georges Tarbouriech
en to trOnan Görel
en to trÖzden Akıncı
Georges uzun süredir ticari ve serbest olan Unix işletim sistemi kullanıcılarından biri. Eski bir NeXT hayranı olarak, OS görüntüsü ve hissini kullanan serbest çalışmaları oldukça beğenmektedir.
Bundan 10 sene kadar önce, inanılmaz bir makine yine en az onun kadar
inanılmaz bir OS sürümüyle ortaya çıkarıldı. Bu makineye NeXT ve bu yeni OS
sürümüne de NeXTStep adı verildi.
Bundan önce buna benzer bir şey görmemiştik: bu makine son derece iyi bir
şekilde tasarlanmıştı, ve nefes kesici güzellikte bir arayüze sahipti. İlk başta
BSD 4.2 tabanlı olan hemen
sonra 4.3 e çıkarılan OS un çekirdeği de son derece küçüktü. Bununla beraber,
ilk defa grafik ve nesneye dayalı geliştirme aracını önümüze sundu: Interface
Builder
(Bu inanılmaz araç için Jean-Marie Hullot ve Bertrand Serlet'e teşekkür ederiz).
Ticari olarak düşünürsek, bu makine gerçek bir başarıya ulaşamamıştır. Sonra,
NeXT Sun gibi değişik OS'ları
taban alarak çalışmaya başladı. Bu API'ye (Uygulama Programı Arayüzü) OpenStep
olarak adlandırıldı. Bundan sonra, GNU büyük bir projeye girişti, GNUstep,
http://www.gnustep.org/, to build a
free OpenStep gerçeklemesi. Bu makale henüz bitmemiş olan bu büyük çalışmayı
sunmaya yöneliktir.
GNUstep için, başka büyük bir serbest ürüne ihtiyacınız vardır: Window Maker
. Window Maker NeXT'in pencere yöneticisidir. Eğer henüz bununla ilgili yeterli
bilgiye sahip değilseniz,
başka bir makaleye göz atabilirsiniz.. Bu yazı hazırlanırken Window Maker'ın son
sürümü 0.64.0 idi.Bu pencere yöneticisi aslında GNUstep projesinin bir
parçasıdır, ve eğer isterseniz buna
ulaşabilirsiniz.http://www.windowmaker.org/. Window Maker neredeyse ticari ya da
serbest her türlü Unix ortamında çalışabilmektedir. Bu GNUstep'e göre biraz
farklıydı.
NetBSD, FreeBSD, OpenBSD gibi her türlü Linux çeşidinde koşabilecekti üzerinde
koştuğu OS çeşidine göre daha fazla ya da daha az kararlıydı. Ticari Unix'leri
de dikkate alacak şekilde
Solaris, Irix... gibi Unix'lerde de çalışabilecekti. Bir kere ekranınız NeXTStep
gibi görünürse, GNUstep sanal doku yöresine gidip ihtiyacınız olan herşeye
ulaşabilirsiniz.
Ve neye ihtiyacınız var? Açıkçası, nesnel bir C derleyicisi (hatırlayın, neyneye
dayalı bir yapıya sahipti). gcc 2.8 ve üstü işinizi görecektir. Önerilen ise
libobjc'dir.
Derleme için gerekli araçlar dışında, GNUstep 'in marifetlerine de ihtiyacınız
olacaktır: bu temel kütüphane, en az, grafik kullanıcı arabirimi kütüphanesi,
X11 backend (xgps veya xdps)...
ve diğerleri. Bunlardan bir çoğunu indirebilirsiniz, bu size bağlı: seçiminizi
yapmak için listeyi inceleyebilirsiniz. Örneğin, Arayüz Yapıcı olarak Gorm'u
alabilirsiniz,ve tabii ki, örnekler,
veya kullanıcıların uygulamalarına da ulaşmak mümkün.
Sadece indirdiklerinizi derlemek zorundasınız! Aslında, OKUBENı'leri ve
KUR'ları okumalısınız. Ayrıca GNUstep'in NASIL YAPILIR (HOWTO) dökümanı da,
okumanızı önerceklerimiz arasında.
Derlemeden sonra işinizin çoğu çevresel değişkenleri ve programları düşünmek, ve
başlatmak. (örneğin, gdnc adlı motor).
Önceden de belirtildiği gibi, iki farklı backend'e sahip olabilirsiniz : Biri X
ve diğeri dps, Display PostScript in kısaltılmışı olan serbest bir program. Bu
sonuncusu daha iyi sonuçlar
verecektir fakat geliştirilme açısından X 'ten geride kalmıştır. Sizin OS 'unuza
göre, çevresel değişkenleri tanımlarken dosya yollarını denetleyin. En azından,
GNUSTEP_SYSTEM_ROOT değişkenini
tanımlamanız gerekecektir ve çeşitli programlara ve script'lere olan yolları da
belirtmeniz gerekebilir. Bu kısmı bitirdiğinizde GNUstep ile "oynayabilirsiniz".
GNUstep sanal doku yöresinde bir çok örnek vardır, kullanıcı uygulamalrı
kısmında veya indir kısmında bunlar görülebilir. Aslında, eğer NeXTStep veya
OpenStep hakkında bir bilginiz yoksa
bu örnekleri incelemek GNUStep ile haşır neşir olmak için en iyi yoldur.
Bunların çoğu çalışan örneklerdir ve size temeldeki yapının mantığını
anlamanızda önemli bir katkıda bulunacaklardır.
Program kodunu incelemek size nesnel C ile ilgili bir çok şey öğretecektir. C'yi
bilen biri için nesnel C 'yi öğrenmek biraz daha kolaydır ve her halde C++ 'ı
öğrenmekten çok daha kolaydır.
(tabii, bu sadece benim düşüncem). Bu örnekler içinde, en iyilerinden biri "font
panel" dir. Gerçekten orjinaline çok benzemektedir. Sırası gelmişken , bu
makalede karşılaştırma yapabilmeniz
için GNUstep ve NeXTStep'e ait bazı ekran görüntülerine yer verilmiştir, ılk
örnek aşağıda verilmiştir : GNUstep'in "font panel"i ve NeXTStep'in "font
paneli".
Bir başka ilginç örnek ise "Edit app". Henüz tam
olarak çalışmamaktadır ama orjinaline çok yakın olan bu örnek de çok iyi bir
çalışmadır.
En iyi öğretici örneklerden biri ise GSTest'tir. GSTest'i çalıştırmak size
pencereler düğmeler kayan barlarla ilgili anlamak istediğiniz herşeyi
öğrenmenizi sağlayacaktır.
Bu aslında herşeyi bir arada toplayan bir örnek! Programın koduna şöyle bir
bakmanız kitaptan öğrenmeye çalışmaktan daha iyi olacaktır.
Tabii ki,bu diğer örneklerin çok ilgisiz olduğu anlamına gelmiyor: onların da
faydası olacaktır!
Açıkçası, bir çok uygulamanın yazarı olan, Nicola Pero, gayet iyi iş
çıkarmıştır.
Yine Nicola'nın yazdığı güzel örneklerden biri, Finger'dır. Parmak için bir
grafik kullanıcı arayüzüdür.(tahmin edebildiniz mi?), ping, traceroute. ışte
Finger:
Aslında bunu gibi birçok uygulamaya değinebiliriz
ama gerisini de okuyucunun merakına burakalım.
NeXTStep ile bize görünen temel devrim Interface Builder'dır. İsminden de
anlaşılacağı gibi , uygulamalarınız için grafik kullanıcı arabirimi yaratmanızı
sağlayan bir araçtır.
Fakat, nasıl bir araç! Hatırlarsanız, 80'lerin sonunda: bu sadece inanılmazdı!
Neden bu bir devrimdi: çünkü 5 dakikadan kısa bir süre içinde her türlü
aksesuarıyla birlikte bir pencere hazırlamanızı olanaklı kılıyordu.!
Bu menüsüyle, düğmeleriyle kayan barlarıyla ve diğer aksesuarlarıyla sadece
nesneleri paletten çekip taşıyarak oluşturulabilen bir pencere.
Hatta bu nesneleri diğer pencerelere, menülere, benzer başka nesnelere bağlamak
da olanaklıydı. Olabilecek en az program kodu oluşturuluyordu ve gerisini
tamamlamak size kalıyordu.
Bir kere yeretılan bu nesneler herhangi bir yerde tekrar kullanılabiliyordu.
O zamanlar inanılmazdı!
Bundan sonra, bir çok büyük yazılım editörü aynısını yapmaya çalışmışlardı:
benim düşünceme göre, hiç bir zaman orijinalinin seviyesine ulaşamadılar.
Ve şimdi, tamamen sebest bir şekilde böyle bir aracınız olabilir! Gorm (GNUstep
Graphics Object Relationship Modeler) adındaki bu aracın yazarı Richard
Frith-Macdonald'dır.
Gorm sadece CVS olarak GNUstep sanal doku yöresinden elde edilebilir. Bu yazının
hazırlandığı sırada sürümü ise 0.1 olan bu araç bununla birlikte bir çok
fonksiyonu henüz tam olmayan
bu araçla yine de çalışılabilmektedir. Interface Builder' ı keşfetmek için bakın
ve hissedin,Gorm doğru araçtır.
ışte çok basit (ve saçma) bir örnek NeXTStep'teki eşiyle birlikte verilmiştir.
Daha önce söylediğimiz gibi, bu araç ve onun modeli Interface Builder
bir uygulamanın grafik arayüzünü yaratmak için kullanılır.Tabii ki, bu
uygulamanın çalışması için yeterli değildir.
Yaratılan kodu tamamlamanız gerekir ve değişik kaynakları yönetebilmeniz
gerekmektedir. En son, çalışmanızı derlemeniz gerekecektir.
şimdi ikinci büyük araç olan NextStep altındaki Project Builder'a ve GNUstep
altındaki ProjectCenter 'a geldi sıra. Henüz sürüm numarası 0.2 olan
ProjectCenter ın yaratıcısı
Philippe C.D Robert 'dır. Bir kez daha belirtelim, bu araç sürüm numarasına
rağmen çalışan bir araçtır. NeXTStep altındaki Project Builder ile projenizi
oluşturabilir ve tamamlayabilirsiniz.
Aslında yapılması gereken bir çok iş varken, bu aracı indirmek de harcayacağınız
çabaya değecek bir iştir.
Aşağıda "baba"sıyla karşılaştırıldığında ProjectCenter'ın nasıl çalıştığı
görülmektedir.
Eğer NeXTStep veya OpenStep biliyorsanız bu iki aracı kullanmak daha
kolay olacaktır. Eğer daha önce hiç kullanmadıysanız, arkalarındaki çalışma
prensbini bulmanız gerekecektir.
Bu kouyla ilgili önerilebilecek bir çok yazı bulunmaktadır. (zorunlu okuma
anlamında değil). Fakat bir kere nasıl çalıştığını anladığınızda... onsuz
yapamayacaksınız! Bu nedenle sizi uyarıyorum.
Ayrıca GWorkspace veya GSBench gibi diğer büyük devrimlere de değinmemiz
gerekiyor. GNU 3DKit da bir başka muhteşem yazılım parçasıdır. OpenGL üzerinde
çalışmakmak için tasarlanmış bir API olan
GNU 3DKit'ye diğer uygulamalarla
birlikte http://www.nice.ch/~phip/softcorner.html ulaşabilirsiniz.
Burada bahsettiğimiz araçlar uygulamaları "OpenStep"den "GNUstep"e taşımak
için tasarlanmıştır. Ancak bunun çok ötesinde "Mac OS X" uygulamalarını da
taşıyabilmektedir. Bu çok önemli bir
noktaydı ve gelişmeler devam etti. "OpenStepGNUConverter" adında bir araç,
"PBProject (Project Builder)"leri "GNUstep Makefile"a dönüştürmeyi sağladı. Yani
"OpenStep" projelerini mesela
Linux'unuzda derleme imkanınız doğdu. Böyle bir projeyi derlemek için "nfmake"
adlı başka bir araca da ihtiyaç var.
"nib2gmodel" aracı da, "nib (Interface BUilder ile oluşturulan dosyalar)"
dosyalarını "GNUstep" altındaki eşdeğeri "gmodel"a dönüştürme imkanı sağladı.
Son olarak bir veritabanı kütüphanesinden fazlası olan "gstep-db" ile Oracle'a
ulaşabilirsiniz.
NeXTStep ve OpenStep Sybase ve Oracle için adaptörler sağladı, öyleki bu
editörlerden veritabanını sorgulamak için bir arayüz vardı. Oysa GNUstep aynı
şeyleri ücretsiz sunuyor ( NeXTStep
OpenStep'de çok pahalı olan geliştirme ortamına, GNUstep'te "Enterprise Object
Foundation" adı altında ücretsiz sahip olabiliyorsunuz - Ayrıca bunun gibi pek
çok daha örnek mevcut).
Bu araçlara GNUstep sanal yöre dokusundan ulaşılabilinir.
Sadece eski bir NeXT makinaya sahip olduğumdan ve sabırsızlıkla Mac OS X'i
beklediğimden, bahsettiğim araçların hepsini test etme fırsatım olmadı. Ancak
GNU 'ya 15 yıldan beri güveniyorum ve
bunun değişeceğini de sanmıyorum! şunu rahatlıkla söyleyebilirim ki, tüm
bahsettiklerim güvenle çalışacaktır. Yine de bir kaç ay içerisinde hepsini test
edeceğim...
Eğer bu müthiş sistemde çalışmak istiyorsanız, daha önce de belirttiğim gibi
bir çok dökümantasyona ulaşabilirsiniz. Her ne kadar yapı basitte olsa, nasıl
işlediğine dair genel bir bilginizin
olması gerekmekte. GNUstep sanal doku yöresinden bir çok faydalı bağlantı
bulabilirsiniz. Bunlardan bazıları özel dikkate değerdir.
GNUstep kütüphanesi ,nesnel C kaynakları, kurulum komutları, sıkça sorulan
sorular gibi genel GNUstep dökümantasyonu için
"http://www.gnustep.org/resources/documentation.html" sanal doku yöresini
ziyaret edebilirsiniz.
Eğitim dökümanları için, Nicola'nın da favori sanal doku yöresi olan
"http://www.gnustep.it/nicola/Tutorials" yi ziyaret etmenizi öneriyorum.
GNUstep'e yeni başlayanlar için de "http://www.gnustep.net/" sanal doku yöresini
öneriyoruz.
NeXt'in tuhaf hikayesi Mac OS X adı altında devam ediyor. Umarız bu sefer
başarılı olur. 10 yıldan eski bir işletim sisteminin yeni kariyeri hakkında ne
düşünüyorsunuz ?
Muhtemelen yenilerinden daha iyi olan birçok uygulama tekrardan derlenecek. Mac
OS X ve NeXTStep 'in UNIX sistemleri olduğunu da unutmamak gerekiyor. Yani
özellikle ücretsiz Unix sistemlerinin sahip olduğu tonlarca uygulama
potansiyel olarak GNUstep için hazır durumda.
Bu bir çeşit hayal bile olsa, istediğimiz yazılımı seçme şansımız artık olacak.
Malesef bu madalyonun bir karanlık bir de aydınlık yüzü var....
Örnek olarak, kullandığımız işletim sistemlerinde sanal
doku tarayıcıları açısından fazla bir çeşitlilik sunmamaktadır. Tarayıcılar ya
Netscape(ve türevleri) ya da Explorer olmaktadır ki bunlar da güvenlik açığı
gibi
ciddi eksiklikler bulunmaktadır. Mac OS X'de "OmniWeb" adlı mükemmel bir
tarayıcı bulunmaktadır. Bu tarayıcıyı NeXTStep altında kullanmakta ayrı bir
zevktir. Unix veya M$ işletim sistemlerinden hangisini kulanıyor
olursanız olun bu günümüzün düşlenen tarayıcısıdır. Bu kadar ince sanal doku
tarayıcıları ancak alternatif işletim sistemleri altında bulunmaktadır: BEOS
altındaki NetPositive, AmigaOS altındaki AWeb gibi. Opera çekici
gözükmesine rağmen maalesef benbi ikna edememiştir. Burada bahsetmek istediğim
şu ki, Mac OS X ve GNUstep günümüzde kullandıklarımızdan çok daha iyi yazılım
araçları sağlayacaklar. NeXTStep ile bundan 10 yıl önce
bu tür araçlardan yararlanmıştık.
Tabiki bu sadece sanal doku tarayıcıları için değil diğer yazılım araçları için
de geçerli.
"http://www.omnigroup.com/" sanal doku yöresinden bunlar gibi bir çok yazılım
araçlarına erişebilirsiniz.
GNUstep ile Mac OS X arasındaki ana fark X-Window'un GNUstep te kullanılmasından
kaynaklanmaktadır. NeXTStep hakkındaki en büyük şikayette zaten bu idi.
GNUstep'i önemli kılan şey bahsettiğim tipteki uygulamaların X-Window altında
kullanılabilmesidir.
Bu konuda en büyük endişemiz Explorer ve
aynı firmanın ürettiği yazılımların Mac OS X 'e sızabilme tehlikesidir. Bu M$
yazılımlarının ücretsiz Unix dünyasına saldırma olasılığıdır.
Mac OS X altında geliştirilen uygulamaları görmek için
"http://www.apple.com/macosx/applications/ " sanal doku yöresini ziyaret
edebilirsiniz.
şimdilik yukarıda bahsettiğimiz şeyin şüpheci bir yaklaşım olduğunu varsayalım:
bekleyip göreceğiz !!
Bu noktada unutulmaması gereken bir diğer şey de, GNUstep'in geliştirme için
dizayn edilmiş olmasıdır. Daha büyük ilerlemeler kaydedildiğinde NeXTStep'te
olduğu gibi uygulama geliştirmek çok basit olacaktır.
GNUstep küçük bir çalışma çerçevesinden çok ötede, birleşmiş geliştirme
ortamıdır (IDE). Burada en önemli noktalardan biride uygulamaların taşınabilir
olmasıdır, örneğin Mac OS X'e.
Bu arada Apple'ın açık kaynaklarıyla ilgili Darwin More'ın katkılarıyla
"http://www.opensource.apple.com//" unutmayalım.
Tabiki GNUstep hakkında soylenebilecek pek çok şey daha var, ancak onlar bu
makalenin kapsamını aşmakta. Burada amaç bu muhteşem ürünü denemenizi ve hatta
bu projenin bir parçası olmanızı sağlamaktı.
En büyük zevklerimden biri olan ücretsiz yazılımlarla ilgilenmek, büyük
ticari yazılımlardaki hataları gidermeye çalışmamdan kaynaklanıyor. NeXTStep
benim için gerçek bir devrimdi. Ben 10 yaşındaki
bir iş istasyonuna sahip olmaktan mutluyum ve onun tozlanmadığını savunuyorum.
Çünkü 68040/25 Mhz'lik işlemcisi dışında onu neredeyse her gün kullanıyorum.
GNUstep ve Window Maker'ı hazırlayanlara
böylesine güzel işler çıkardıkları için teşekkür ediyorum.
NeXTStep'in en inanılmaz özelliklerinden biri de birçok üreticinin onu
klonlamaya çalışmış olması ama ürettikleri ürünlerinin hep hatalı olmasıdır.
şimdi Redmond Krallığına bir atıfta bulunalım, W95
pencerelerini hatırlıyor musunuz? NeXTStep'in ekran görüntülerine bakın,
NeXTStep ilk olarak Amerika'da 1987 ler de ve Avrupa'da 1990 larda kullanıldı.
Kolayca anlaşılabileceği gibi M$'ın benzer ürünlerinden en
az 5 yıl önce NeXTStep'te vardı. Hatta iki dizin arasında uçuşan şekiller ilk
Seattle yakınlarında, 1991 yılında keşfedildi ve NeXTStep 2.1 ile sunuldu. İlk
başlarda bunu Redmond'da kopyalamadılar ve daha
iyisini yaparak NeXT' insanları satın aldılar. Pek adil görünmüyor değil mi?
GNU ücretsiz yazılım söz konusu olduğunda tek kaynaktır ve bunu hakeder. Tüm
dünya GNU ya sahiptir ve tüm işletim sistemleri onun yaptığı çalışmlardan
faydalanır. İşletim sistemi ne olursa olsun GNU'nun derleyicileri
yapılanların içinde en iyileridir. Bu diğer yazılım araçları içinde geçerlidir.
GNU'nun projeleri de, yazılım araçları kadar müthiştir ve GNUstep'te bunlardan
biri. Bu arada NeXTStep bir GNU dizini var...
Siz de benim gibi ücretli ya da ücretsiz Unix masa üstü ortamından tam tatminkar
değilseniz GNUstep'i deneyin, seveceksiniz ! Dahası bir daha onsuz
çalışamayacaksınız.
Eğlenin!
Ne güzel bir dönemde yaşıyoruz!