|
|
Bu makalenin farkl� dillerde bulundu�u adresler: English Castellano ChineseGB Deutsch Francais Nederlands Turkce |
taraf�ndan Georges Tarbouriech <georges.t(at)linuxfocus.org> Yazar hakk�nda: Georges uzun zamand�r bir Unix kullan�c�s�. GNUstep'i ve bu b�y�k olu�umun haz�rlad��� ara�lar� seviyor. T�rk�e'ye �eviri: Murat Kaplan <mkaplan(at)be.itu.edu.tr> ��erik:
|
�zet:
RAD, "Rapid Application Development" (H�zl� Uygulama Geli�tirme ara�lar�) kelimeleri yerine kullan�l�r. Seksenlerin sonunda, NeXTstep ��kt���nda, InterfaceBuilder. ProjectBuilder ad�nda, bir flash i�inde grafik uygulamalar� olu�turmaya izin veren ba�ka bir ara�la birlikte kullan�ld�. GNUstep bu ara�lar�n Gorm.app and ProjectCenter.app ad�ndaki serbest s�r�mlerinin da��t�c�s�d�r.
Bilgisayarlar�n tarih �ncesi d�neminde, yaz�l�m geli�tirmede b�y�k bir m�cadele
vard�. Bilgisayarlar olduk�a d���k g��te olmalar�na kar��l�k boyut olarak bir o kadar
b�y�kt�ler. �ok pahal�yd�lar, say�ca fazla de�ildiler ve geli�tirenler di�er insanlarla
payla�mak zorunda olduklar�ndan istedikleri s�kl�kta kullanam�yorlard�.
Bu durumda ara�t�rmac�lar, verimlili�i y�kseltmek ve bilgisayarlar�n
ayn� anda birden fazla g�revi y�r�tmesi i�in bir yol bulmaya �al��t�lar.
A��k�as�, kullan�labilir makinalar�n k�t� kaynaklar�n� hesaba katarak bir programlama
dilini s�f�rdan tasarlamak ve yaratmak zorundayd�lar.
B�ylelikle, 60'lar s�resince �e�itli yeni programlama dilleriyle kar��la��ld�: LISP,
FORTRAN, BASIC, Algol68, BCPL, vb. Sonra BCPL'den B dili t�retildi ve onu da
C dili izledi. Bu sonuncu programlama d�nyas�n� de�i�tirdi.
Sonras�nda "g�rsel devir" ile birlikte "nesneye y�nelik" (SmallTalk, Objective C, C++,
vb) diller g�r�nd�.
Seksenlerde baz� makinalar grafiksel i�letim sistemleri sunuyorlard� (Apple Macintosh,
Commodore Amiga, Atari ST, vb) ve X Window System sahnedeydi. Ayn� anda,
Presentation Manager ad�nda bir �irket IBM OS2 i�in bir grafik aray�z �zerinde
�al���yordu. Bu �al��ma sona ermeden �nce, �irket kendi DOS 'u i�in "kendi"
grafik aray�z� Windos'u piyasaya s�rd�. �lk iki s�r�m olduk�a kullan��l�yd�, ancak...
sonunda ���nc�s� geldi. MvAI (Microsoft very Artificial Intelligence) do�du!
B�ylelikle b�t�n kullan�c�lar bilgisayar bilimci oldu. O zamandan itibaren
Excel yada Word ve Visual Basic kullan�larak yaz�lan "b�y�k" uygulamalar g�rd�k:-(
Her neyse!
Neyseki, biz bu durumu geride b�rakmadan �ok �nce, NeXTstep do�du ve onunla birlikte
InterfaceBuilder geldi. Bu ara�, uygulaman�z i�in �ok k�sa bir s�rede ve
kolayl�kla bir grafik aray�z olu�turman�z� sa�lar. Oradan bu t�r ara�lar
yay�lmaktad�r. D�erleri i�in de Omnis, 4D, Delphi, Kylix, vb. 'den bahsedebiliriz.
�o�unlu�u Windows'a y�nelik iken bir ka�� "multiplatform" 'dur.
B�yle bir d���nceyi kullanmak i�in Gtk (Gimp Tool Kit) gibi �cretsiz
"toolkit"'ler oldu�unu da s�yleyelim.
Lisansl� Unix'ler de bu t�r ara�lar� sa�lar.
Bu aa�lar�n en �nemli �zelli�i, kodu uygulaman�n 200 penceresi i�in yazmak
zorunda olmaman�zd�r. Veriyi y�netmek i�in sadece bir pencere yeterlidir.
Burada t�r ara�lardan ho�lan�p ho�lanmaman�z �nemli de�ildir. �nemli olan
geli�tirme s�resinin k�sal���d�r: bu bir ger�ek (bu sebeple ad� "H�zl� Uygulama
Geli�tirme ara�lar�")
GNUstep bize serbest RAD ara�lar� sa�lar.
Bu ara�lar Gorm ve ProjectCenter isimlerini ta��rlar. Do�al olarak bu ara�lar
olduk�a "gen�" 'tirler ama i�e yararlar. Onlara bir bakal�m.
Gorm ve ProjectCenter '�n ikisini de kullanabilmek i�in GNUstep'i kurman�z
gerekir. Bunun nas�l yap�laca�� bu makalenin konusunun �tesindedir. Gereksinim
duyaca��n�z her�eyi GNUstep sanaly�resinde
bulabilirsiniz. Bu adreste kaynak kodunu, kaynak yaz�lar� vb bulabilirsiniz.
Ayr�ca bu makalelere bakabilirsiniz:
GNUstep, the open source OpenStep ve GNUMail.app, the portability evidence.
�nceki makale i�in FreeBSD 4.7 ile Window Maker 0.80.1, gnustep-make-1.5.0,
gnustep-base-1.5.0, gnustep-gui-0.8.2 ve gnustep-back-0.8.2 kullan�larak testler
yap�ld�. Bunlar GNUstep'in en son, kararl� olmayan s�r�mleridir. �sterseniz
kararl� s�r�mleri de kullanabilirsiniz. Son ama sonuncu olmayan gcc 3.0.4
derleyicisini kulland�k.
Gorm Graphic Object Relationship Modeler '�n ba� harflerinden olu�ur (yada belki
BENIOKU dosyas�nda yazd��� gibi GNUstep Object Relationship Modeler). NeXTstep
Interface Builder '�n bir benzeridir (yada bug�nlerin MacOS X'inin).
Gorm, projeyi ba�latan Richard Frith-Macdonald'�n �r�n�d�r.
Bug�n projeyi Gregory Casamento, Pierre-Yves Rivaille ile birlikte y�r�tmektedir.
Program�n g�ncel s�r�m� 0.1.9. En yeni CVS g�r�nt�leri
http://savannah.gnu.org/projects/gnustep adresinden edinilebilir..
En son kararl� s�r�m� GNUstep sanaly�resinden indirilebilir.
Gorm'un (ve Interface Builder'�n) arkas�ndaki d���nce, kullan�c�ya paletlerde
bulunan nesneleri bo� pencerelere d���rerek uygulaman�n grafiksel par�alar�n�
haz�rlamas�n� sa�lamakt�r.
Nesneler, d��meler, alanlar, paneller ve benzerleri olabilir. B�ylelikle, bir
pencereye ekleyebilece�iniz her�ey ile kullan�c� dostu olur. Sonras�nda
denetleyicileri kullanarak onlar� iyile�tirebilirsiniz. Denetleyicilerden
se�ilen nesnelerin �zelliklerini, tan�mlanm�� ba�lant�lar�, boyutlar�, yard�m
ve i�letim s�n�flar�n� de�i�tirebiliriniz. Bir s�n�f olu�turduktan sonra
nesneye yol ve eylem ekleyebilirsiniz.
Sonra Gorm ana penceresinde yeni bir (�rnek) nesne yaratan s�n�f �rneklenir
ve yollarla eylemleri uygun b�l�mlere ba�lars�n�z. Bunu sadece
fareyi �rnekten se�ilen nesneye yolar� ba�lamak i�in ve nesneden �rne�e
eylemleri ba�lamak i�in �ekerek yapars�n�z. Son olarak, kaynak dosyalar s�n�f�n�n
iskeletini olu�turursunuz, ve bitirdiniz. Daha fazlas� daha sonra.
ProjectCenter, isminin de s�yledi�i gibi, bir projenin "kalbi"'dir. Project Builder in
NeXTstep ve Mac OS X alt�nda bulunan benzeridir.
ProjectCenter, Philippe C.D.Robert'�n �r�n�d�r ve g�ncel s�r�m� 0.3.0'd�r.
Gorm gibi GNUstep sanaly�resinden, "Developer apps" b�l�m�ne giderek
indirebilirsiniz. Tabi ki en son CVS g�r�nt�lerini edinebilirsiniz: biz bu makale
i�in 0.3.1 s�r�m�n� kulland�k.
ProjectCenter'dan bir proje yaratabilir, aray�z�n� olu�turabilir (Gorm kullanarak),
kaynak kodunu yazabilirsiniz; projeyi olu�turabilir ve �al��t�rabilirsiniz
(hata ay�klay�c� hen� kullan�labilir de�il). K�saca proje i�in gereken b�t�n kaynaklar�
y�netebilirsiniz: kaynak kod, kaynak yaz�, kitapl�klar, alt projeler, aray�zler vb.
Yeni bir proje olu�turdu�unuzda tipini se�ebilirsiniz. Uygulama, paket, ara�,
kitapl�k ve Gorm uygulamas� aras�ndan se�ebilirsiniz.
ProjectCenter di�er �eylerin aras�nda, Gorm iskelet kodunu tamamlayabilece�iniz
bir edit�rle gelir.
Gorm ve ProjectCenter'in birlikte �al��mas� nas�l? �ok g�zel, te�ekk�rler!
Daha ciddi olarak, bunu anlatmak i�in iki �rnek kullanaca��z
Bu makale bir "k�lavuz" DE��LD�R. D���nce, bu ara�lar�n kullan�m kolayl�klar�n�
ayn� kodu GNUstep ve MacOS X'te (yani bir �ok Unix ortam�nda... ve "�abalamak"'tan
ho�lan�yorsan�z Windows alt�nda da) kullanabilece�inizi �srarla g�stermektir.
Sadece aray�z� her ortam i�in tasarlaman�z gerekti�inde, nib dosyalar�
(InterfaceBuilder yada Gorm) hen�z (�imdilik) ta��nabilir de�ildir.
Yukar�da s�z� edilen GNUMAil.app makalesi ta��nabilirli�i bir kullan�c�n�n
bak�� a��s�ndan g�sterir. Bu makale ise geli�tiricinin bak�� a��s�ndan, hala
d���ncedeki ta��nabilirlikle odaklanacakt�r. GNUMail.app 'de Ludovic ve
arkada�lar�yla bunu yapt�k ve burada bir GUI uygulamas�n� GNUstep ve MacOS X
i�in olu�turuyoruz.
MacOS X yada GNUstep i�in bir �ok kaynak yaz�ya ula��labilir. GNUstep i�in
GNUstep sanaly�resinden yada
http://www.gnustep.net'den, birka��n� da biz s�yleyelim.
- An application using Gorm and
ProjectCenter Pierre-Yves Rivaillei'den.
- The Nicola Pero's tutorial page
- Bir HTMLEditor'� olu�turmak i�in daha eski bir k�lavuz: http://stepwise.com/Articles/Technical/HTMLEditor/
Daha fazlas�n� ��renmek i�in var olan GNUstep uygulamalar�n�n kaynak kodlar�n�, nib
dosyalar�n� ve tabi ki gnustep �rneklerini kontrol edebilirsiniz.
Sanal ortamdan InterfaceBuilder i�in eri�ilebilir say�s�z MacOS X k�lavuzu
aras�ndan biz bir ilk �rnek olarak a�a��dakini se�tik:
http://www.macdevcenter.com/pub/a/mac/2001/05/18/cocoa.html. Yazar Mike Beam
http://www.macdevcenter.com/pub
/ct/37'dan edinilebilecek bir�ok kar���k k�lavuz yazd�.
Ni�in bu? ��nk� bir tek sat�r kod yazmadan �al��an bir metin edit�r� sa�lar.
Bu MacOS X yada GNUstep alt�ndaki geli�tirme arac�n�n g�c�n� g�sterir.
GNUstep alt�nda ProjectCenter.app ve Gorm.app kullanarak kesme, kopyalama, yap��t�rma
i�lemlerini yapabilen �ok basit bir metin edit�r� olu�tural�m. Asl�nda �al��man�z�
kaydedemeyeceksiniz: hat�rlay�n, tek bir sat�r kod yazmayaca��z. MacOS X alt�nda
ProjectBuilder ve InterfaceBuilder'� kullanarak ayn�s�n� yapaca��z. A��k�as�, bu
edit�r� iyile�tirmek i�in bir �ok �ey yapmak gerekir ve biz bunu bir al��t�rma olarak
okuyucuya b�rak�yoruz. Birkez daha belirtelim, bu makale bir "k�lavuzu" de�il!
�imdi ba�layal�m.
ProjectCenter.app'� a��n ve Editor ad�nda yeni bir proje olu�turun. Ad�n� kaydetmeden
�nce pencerenin alt�nda bir Gorm Application projesi se�in. Bu size ProjectCenter'�n
sol s�tununda bir "Interfaces" par�as� sa�lar.
Interfaces 'i t�klamak Editor.gorm'u g�sterir. Editor.gorm'u
�ift t�klay�n ve Gorm.app a��l�r. �ntan�ml� pencereyi se�in (MyWindow) ve ara�
denetleyicisini kullanarak ismini "Attributes"'te Editor olarak de�i�tirin.
Paletten Editor penceresine bir TextView �ekin. TextView, "Paletler" pnceresinin
en �st�nde ensa� ikonu kullanan, se�ilen palette bulunan en b�y�k
nesnedir. Bu nesnenin boyutlar�n� pencereyi dolduracak �ekilde de�i�tirin, ve
bitirdiniz.
Yeniden, GormInternalViewEditor denetleyicisini kullanarak (TextView se�ili iken)
, Size'� se�in ve de�erleri Editor penceresinin boyut de�erlerine uyacak
�ekilde de�i�tirin. Bu sonuncusu ayn� �ekilde sa�lan�r, yani, pencere se�ilerek
ve GormNSWindow denetleyicisindeki boyut kontrol edilerek. �rne�in X ve Y de�erlerini
de�i�tirmezseniz pencerenin boyutlar�n� de�i�tirseniz de de�i�tirmeseniz de edit�r�n
b�t�n geni�li�ini kullanamazs�n�z.
Gorm Document men�s�nde hepsini kaydedin ve ProjectCenter'a d�nmek i�in ��k�n.
"Build" ikonunu se�in ve pencerenin ikinci yatay k�sm�ndaki "new build" ikonunu
t�klay�n. E�er derleyiciniz, "debugger"'�n�z vb. i�in do�ru se�imleri yapt�ysan�z
her�ey do�ru gitmi� olmal�. �rne�in FreeBSD kullan�rken ProjectCenter'�n "Settings"
ikonunu t�klayarak make'i gmake olarak de�i�tirmelisiniz. Yollar� da ProjectCenter'da
"Preferences" men�s�nden kontrol etmelisiniz.
E�er olu�turma ba�ar�l� olduysa (olmal�!), ayn�s�n� Run ile yap�n ve Editor
uygulamas�n� g�receksiniz. Yazarak, keserek, yap��t�rarak oynayabilirsiniz. Sonra
"openapp" buyru�unu kullanarak yeniden ba�latabilirsiniz.
Ne kadar s�rd�? Asl�nda, birka� dakika diyebilirim.
Yukar�da yap�lanlar�n ayn�s�n� yapaca��n�zdan s�ylenecek fazla bir�ey yok.
GUI'nin tasar�m� s�ras�nda a�a��daki gibi g�r�nmeli:
�imdi Mike Beam'dan bir ba�ka �rnek se�elim. Bu sefer veriyi y�netebilen,
tam olarak �al��an bir uygulama: bir adres defteri. Mike '�n adres defteri
k�lavuzunun (di�erleri gibi) d���ncenin nas�l i�ledi�inin anla��lmas�
i�in okunmas� �nerilir. Ayr�ca Mike ayn� uygulamay� iyile�tirmeyi sa�layan
farkl� geli�tirme i�lemleri �nerdi�inden k�lavuz listesi de kontrol edilmelidir.
Yine uygulamay� hem GNUstep'te hem de MacOS X'de olu�turup �al��t�raca��z.
Edit�r �rne�inde yapt���n�z gibi, ProjectCenter.app '� ba�lat�n. Bir Gorm
uygulamas� se�ip "AddressBook" ad�n� verin. ProjectCenter'dan "Interfaces"'de
-> AddressBook.gorm 'u �ift t�klayarak Gorm'u ba�lat�n. Paletten �ntan�ml�
pencereye bir "TableView" �ekin. Ba�ka bir deyi�le, Mike'�n k�lavuzunu
MacOS X alt�nda oldu�u gibi takip edin. Gorm'da ve InterfaceBuilder'da farkl�
�al��acaklar�ndan birka� �eyi uygun hale getirmelisiniz.
�rne�in, "TableView"'deki s�tun say�s� Gorm'da "attributes inspector"'dan
tan�mlanamaz. Baz� �eyleri basit tutmak i�in bir s�tunu kopyalay�p sonrakine
gerekti�i kadar kopyalay�n (burada 4 kez). Benzer �ekilde bitirmi� olmal�s�n�z:
Mike Beam b�t�n i�i yapt�: ekleyebilece�im ba�ka ne var?
A��k�as� GNUstep geli�tirme ara�lar� Apple'�nkiler kadar �nde olamaz.
Apple ve NeXT y�zlerce geli�tiriciyle birlikte 15 y�ll�k fazla deneyime sahiptir.
GNUstep bir ya�am i�in daha ba�ka (serbest) bir�eyler yapan bireysel bir olu�umdur.
Bu sebeple, �rne�in eri�ilebilir s�n�flar�n InterfaceBuilder'da
Gorm'dan �ok daha fazla olmas� �a��rtmamal�d�r. Gorm hen�z
0.1.9 (yada 0.2.0) s�r�m�nde.
�stelik biz testleri "zor" yoldan yapt�k. OS X 'den GNUstep'e ta��d�k.
Yukar�da bahsedilen ara�lar aras� farklardan dolay� ba�ka yoldan gitmek daha
kolay olabilir.
�rne�in olduk�a iyile�tirilmi� yeni Apple geli�tirme ara�lar� kullan�lana kadar
MacOS X 10.2 alt�nda geli�tirilmi� uygulamalar� ta��mak �ok daha zor olabilir.
Daha �nce de s�ylendi�i gibi, ula��labilecek bir�ok yeni yada �zenli s�n�f vard�r.
Her nas�lsa, ayn� d���nceye g�venen ara�lar GNUstep yada MacOS X alt�nda �al���rlar
... ve GNUstep her ge�en g�n iyile�mektedir. Bir�ey bana �ok ho� g�r�n�yor:
GNUstep'te insanlar ger�ekten birlikte �al���yorlar. Farkl� projeler d���n�ld���nde
her birine yard�m ediyorlar ve GNUstep �ekirde�inin geli�imine de katk�da bulunuyorlar.
Bu benim ho�land���m Serbest Yaz�l�m'�n �al��ma �ekli. Mr.Fedor ve arkada�lar�na
b�yle bir tav�rdan dolay� tebrikler.
Bu makalenin amac� GNUstep "RAD" arac�n�n, Gorm.app ve ProjectCenter.app'�n
g�c�n� g�stermekti. Gen�liklerine ra�men olduk�a kolay �ekilde ho� uygulamalar
geli�tirmenize yard�m edebilirler.
Daha fazlas�, bu ara�lar olduk�a ba�ar�l� bir �ekilde �ok ho� bir �al��ma tarz�
sa�larlar. Nesnel C olduk�a t�k�z bir dildir ve fikrimce birinin C ile
birlikte C++ ��renmesinden �ok daha kolayd�r (Biliyorum, daha �nce de s�ylemi�tim!).
Bu daha k���k boyutlarda tutarak ho� g�r�nen uygulamalar tasarlamay� sa�lar
(tamam, bu zevk meselesi ama ben bu durumu seviyorum).
Kabul etmeliyim ki ilk NeXT makinas�yla tan��mamda ya�ad���m �oktan hi�
kurtulamad�m. Apple NeXTstep'in ileri bir s�r�m�n� �reterek beni sevindirdi.
Bu ayn� zamanda benim GNUstep yada Window Maker gibi projeleri neden �ok
sevdi�imin de sebebi. Herneyse, serbest yaz�l�m� seviyorum diye "tutucu" de�ilim,
ve buna uygun olarak sahipli yaz�l�mlara kar�� de�ilim (asl�nda, belki �zel bir
kelime i�lemciye biraz kar�� olabilirim... ama, sadece biraz!).
GNUstep Apple'dan yararlanabilir... ama Apple da GNUstep'den yararlanabilir.
GNUstep Apple'�n bir rakibi de�il, serbest bir yaz�l�m. Bildi�im kadar�yla
serbest yaz�l�mlar OS X'de olduk�a kullan�l�yor. Bu demektir ki Apple'a
�ok daha fazla serbest yaz�l�m getirmek k�t� bir�ey olmayabilir.
Ludovic ve rakada�lar�n�n GNUMail.app ile yapt�klar� ne olabilece�ine �ok g�zel
bir �rnek.
"Bir r�ya g�rd�m"... Apple geli�tirme ara�lar�n�n �o�unun kaynak kodlar�n� GNUstep'e
sunuyordu. GNUstep ve Apple geli�tiricileri Unix kullan�c�lar�na ola�an �st�
uygulamalar sunmak i�in birlikte �al���yorlard�. Ve yava� yava� insanlar Windos
olmadan ya�ayabileceklerinin fark�na var�yorlard�...
Ne yaz�k ki, bir r�yayd� ;-)
Her neyse, GNUstep ve uygulamalar�n� bilmiyorsan�z, bir denemek i�in rahat olun.
Hat�rlay�n, GNUstep size her�eyi ke�fetmek ve olu�turmak i�in Gorm ve ProjectCenter
gibi bir ortam ve ara�lar sa�lar. Ba�ka bir deyi�le, biraz hayal g�c� ile,
bug�nlerde g�rebildi�inizden -Widos uygulamalar� benzerlerinden!- �ok farkl�
"�r�nler" geli�tirebilirsiniz.
�nemli bir zamanda ya��yoruz!
GNUstep insanlar�: A.Fedor, N.Pero, G.Casamento, P.Y.Rivaille, N.Roard, L.Marcotte,
R.Frith-Macdonald, P. C.D.Robert, E.Sersale, A.Froloff, F.Kiefer, M.Viviani,
M.Guesdon ve unuttu�um herkese bu b�y�k i� i�in, hem bu ortam ve hem de uygulamalar
i�in.
Window Maker insanlar�na: A.Kojima, D.Pascu ve bize X i�in serbest bir NeXTstep
aray�z� sa�layan arkada�lara.
J.M.Hullot ve B.Serlet'a InterfaceBuilder'� �rettikleri i�in.
"Steve Jobs INC."'e bize NeXT, NeXTstep ve MacOS X'i sa�lad�klar� i�in.
Burada bahsedilmeyen, profesyonel ya�am�m�z�n olu�umunda az �ok katk�s� olan herkese
|
G�rsely�re sayfalar�n�n bak�m�, LinuxFocus Edit�rleri taraf�ndan yap�lmaktad�r
© Georges Tarbouriech , FDL LinuxFocus.org Buray� klikleyerek hatalar� rapor edebilir ya da yorumlar�n�z� LinuxFocus'a g�nderebilirsiniz |
�eviri bilgisi:
|
2002-12-19, generated by lfparser version 2.27