Daha önce Flex’e Genel Bakış isminde bir yazı yazmıştım, ancak o yazıda bir çok konuya değinmemiştim. Tabi birde Flex 3 ile birlikte Flex dünyasının oldukça yeni gelişmeler ile farklı bir boyut kazanması sonucunda değinilmesi gereken ekstra konularda ortaya çıktı. Bu yazıda Flex ve Flex ile ilgili teknolojilere biraz daha detaylı yaklaşacağız.
Flex, Macromedia firmasının 2004 yılında çıkarmış olduğu MXML
(Macromedia Extensible Markup Language) ve ActionScript teknolojilerini
kullanarak Flash Player platformu üzerinde Zengin Internet Uygulamaları
(Rich Internet Application – RIA) geliştirmek için kullanılan bir teknolojidir.
Adobe – Macromedia birleşmesi sırasında Flex 1.5 sürümündeydi. Flex
Builder 1.5, Macromedia Dreamweaver çatısı üzerine kurulmuş bir IDE idi
ve arabirimi de Macromedia Dreamweaver MX 2004 ile aynıydı. Macromedia
programlarının ortak özelliği, birbiri ile ilişkili programlarının
ortak bir arabirime sahip olması ve bu sayede kullanıcılarının kolay
adaptasyonunu sağlamaktı. Zaten, yazılımlarındaki ‘Studio’ ile anılan
paket mantığıda buradan doğmuştur.
Adobe, Macromedia ile birleşmesinin ardından hızlı bir şekilde
Flex’i geliştirmeye başladı ve kısa zamanda Flex 2.0’ı piyasaya sürdü.
Önceki sürümüne kıyasen büyük bir değişim geçiren Flex bir anda
dünyanın ilgisini çekmeyi başardı. Türkiye’de de Flex 2.0 çıktıktan
sonra büyük bir ilgi görmeye başladı. Takip ettiğim Flex forumlarına
dayanarak söylebilrim ki; Flex 1.5 sürümündeyken Flex’i inceleyenler
genel olarak Flex’in kullanım amacını anlayamıyordu. Flex 2 ile
birlikte kullanıcılar hızla bilinçlenmeye ve Flex’e ısınmaya başladı.
Yani Adobe’nin yaptığı köklü değişiklikler kullanıcıları olumlu yönde
etkiledi. Bunun sonuçlarını Flex Showcase‘i inceleyerek rahatlıkla görebilirsiniz.
Flex 2.0 da görülen en büyük yeniliklerden biri ActionScript 3.0
idi. Adobe, ActionScript’in bu yeni ve gelişmiş sürümünü Flash IDE’den
önce Flex 2.0 ile birlikte piyasa sürdü. Bir diğer önemli yenilik ise
Flex’in yeni arayüzündeydi. Önceki sürümünün Dreamweaver çatısı
üzerinde kurulu olduğunu söylemiştim, fakat Adobe bunu tamamen
değiştirerek Flex 2’i Eclipse çatısı üzerine kurdu. Böylece Flex
Builder 2, tamamen farklı bir yazılım geliştirme ortamı olarak
karşımıza çıktı.
İlk zamanlarda Flex ile ilgili kaynak sıkıntısı çekilirken, Flex 2.0
ile birlikte bu sıkıntı hızla ortadan kalkmaya başladı. İnternette Flex
ile ilgili sitelerin ve forum sayfalarının sayısı gün geçtikçe artıyor.
Türkçe kaynak açısından Flex’e baktığımızda ise ilk zamanlara kıyasen
şimdi Flex ile ilgili daha fazla Türkçe kaynak bulunuyor ve bu
kaynaklar hızla artıyor. Henüz Flex’e dair bir Türkçe kitaba
rastlamasak ta Flex öğrenmek isteyenler internetin nimetlerinden sonuna
kadar faydalanabilirler. Eminim kısa bir süre sonra Flex ile ilgili
türkçe kitaplarda raflarda yerlerini almaya başlayacaklardır.,
RIAs (Rich Internet Applications – Zengin İnternet Uygulamaları)
RIA, Macromedia Studio MX ile birlikte ortaya çıkmış bir kavramdır.
Çıkış amacı ise klasik web uygulamalarının artık hem kullanıcı
tarafında hemde kurumsal tarafta ihtiyaçları ve beklentileri
karşılamamasından kaynaklanıyor. Temel olarak internet uygulamalarının,
masaüstü uygulamaları kadar gelişmiş uygulamalara dönüşmesini amaçlayan
Web’de bir değişim süreci niteliğindedir. Şimdi internetin ve masaüstü
uygulamalarının gelişimi ile RIA’nın nasıl ortaya çıktığına bir göz
atalım.
Bilgisayarların hayatımıza girdiği günden bu yana hemen hemen her
işimiz ile bir bağlantısı oldu ve bugün bilgisayarsız bir dünya
düşünmek mümkün değil. Bunun sebebi hiç şüphesiz bilgisayarın değerinin
insanlar tarafından çok iyi anlaşılması ve bunun değerlendirilmesidir.
İnternetin de gerçekten çok büyük bir buluş olduğu farkedilmeye
başlandığı zamanlarda ise, bu büyük buluşun bir çok alanda
değerlendirilmesi gerektiğini düşünen insanlar yavaş yavaş işlerini
internet üzerine taşıdılar. Tabi internetin oldukça yeni olmasından
kaynaklanan problemler vardı ve bu yüzden internet bir çok alanda
kullanışlı olmuyordu. Bu problemlerin başında bağlantı hızlarının düşük
olması ve bire bir etkileşimin sağlanamaması gibi sorunlar yer alıyordu.
Her ortaya çıkarılan bir buluşun yada fikrin mutlaka emekleme
dönemleri vardır. İnternet de bu gibi emekleme dönemlerinden geçti. İlk
başlarda sadece text tabanlı uygulamalara ev sahipliği yaptı. Ama
zamanla gelişmeler yaşanmaya başlandı. Gelişme oldukça insanların
internetten beklentileri de hızla arttı. Hatta bir noktadan sonra
insanların beklentilerinin artış hızı, internetin gelişme hızını geçti.
İşte bu anda yeni arayışlar ve çözümler ortaya çıkmaya başladı. Çeşitli
kavramlar, fikirler ortaya atıldı ve bunlar üzerinden bir çok gelişmeye
imza atıldı. Bunların sonucunda internet büyük gelişmeler yaşadı. Ama
her ne kadar gelişmeler olsa da internet uygulamalarında klasik bir
uygulama anlayışı hakimdi. İnternet uygulamalarının sadece text ve
durağan resim devrinden sonra dinamik programlama dilleri türemeye
başladı ve bu diller sayesinde uygulamaların etkileşim kapasitesi
arttı. Diğer yandan uygulama alt yapısında farklı anlayışlar gelişmeye
başladı. Evet, Flash bu farklılıkların başında geliyordu. Flash ile
birlikte internet, gerçekten de insanların sempatisini daha çok çekti.
Bunun sonucunda internet uygulamalarında hızlı gelişmeler gözlenmeye
başlandı.
İnternet gelişimi biraz ivme kazanmıştı ama diğer yandan masaüstü
programları da hızlı gelişimlerine devam ediyordu. Tabi klasik internet
uygulaması anlayışı da zamanla gelişti ve değişti. Ancak, internet ve
masaüstü uygulamaları arasındaki bu çekişme birbirine eşitleninceye
kadar devam edecekti. Çünkü gerek kullanıcı tarafında gerekse kurumsal
tarafta internet uygulamalarından beklentiler hâla artıyordu. Artık bir
yerde internet uygulamalarının, masaüstü uygulamaları ile arasındaki
farkı kapatması gerekiyordu. Masaüstü programlarının zengin arabirimini
kullanan uygulamalar, internetin gücüyle birleşmeli ve kullanıcı ile
uygulama etkileşimi en üst düzeye taşınmalı idi. Bunun yanısıra Video
ve Ses’in internette kullanılabilir olması hiç şüphesiz masaüstü
rahatlığını internette yaşamak demekti.
İşte tüm bu sebeblerden dolayı Macromedia, 2002 yılında Studio MX
ile birlikte RIA kavramını ortaya attı. Bildiğiniz gibi Flash,
Dreamweaver vb. programları sayesinde Macromedia, internet
teknolojilerinin kalbini elinde tutuyordu. Kendi ürünleriyle
geliştirilebilmesi mümkün olan bu kavramı ortaya atması internetin
bugünki geldiği noktanın temel taşı niteliğindedir.
RIA ile birlikte internet hızla değişmeye başladı ve Flash MX 2004
ile birlikte FLV (Flash Video ) kavramı Video ve Web’e gerçekten de çok
farklı bir boyut kazandırdı. Daha öncesinde Video ve Web beraber
düşünülemezken, FLV bir nevi Video sayesinde Web’in kurtuluşu oldu
diyebiliriz. Flash Player platformunun Web’e kattığı esneklikler
RIA’nın Web’e ilk taşlarını koydu. 2004 yılında Studio MX 2004’ün
ardından Macromedia, RIA gelştirmek için oluşturulmuş bir IDE olan Flex
1.0’ı duyurdu. Böylece RIA kavramını Webde, kolay kolay kalkmayacak bir
yere koymayı başardı.
Adobe, Macromedia ile birleşmenin ardından temeli sağlam atılan bu
kavrama gerçekten büyük önem verdi ve hâla da vermeye devam ediyor.
İşte Macromedia’nın ilk ve büyük adımı atmasının ardından, Adobe’nin
Flex’i bugünki noktaya getirmesi sonucunda Flex, RIA dediğimiz Zengin
İnternet Uygulamalarını oluşturmak için en güzel ve en kolay çözüm
oldu.
RIA, her ne kadar Macromedia tarafından ortaya atılmış bir kavram ve
değişim süreci olsada zamanla bu kavram Sun ve Microsoft gibi firmalar
tarafından da benimsenmeye başlandı, hatta Adobe (Macromedia)
tarafından bu kavram üzerine geliştirilen teknolojilerin benzerleri bu
firmalarca da geliştirilmeye başlandı ve bunun sonucunda ortaya JavaFX ve Silverlight
çıktı. Gerçi Silverlight, RIA’yı benimseyebildi mi bilmiyorum, o konuda
biraz çekiniyor sanırım. Adobe Flex, RIA geliştirme platformu olarak ün
kazandı, ve Microsoft Rich Internet Application kavramını sanırım
hazmetmekte zorlandı ki, kabul etmedi de hafiften arkasına saklanmaya
çalıştı. Silverlight web sayfasında dökümanları kurcalarken gözüme
birşey takıldı. Silverlight RIA geliştirmek için kullanılıyormuş.
Buraya kadar herşey çok güzel ama RIA’nın yanına bir parantez açmışlar
ve ‘Rich Interactive Application’ yazmışlar. RIA kavramını
Macromedia ortaya atmış olmasından dolayı Microsoft’un bu tür küçük
harf değişiklikleri ile yeni kavram oluşturma çabası yine garip geldi
bana doğrusu. (Acaba bu tanıdık bir durum olabilirmi? Adobe MAX –
Microsoft MIX etc.)
Netice itibariyle RIA, web’e gerçektende çok farklı boyutlar
kazandırdı ve kazandırmaya da devam ediyor. Silverlight ve JavaFX’in
çıkışı ise tatlı bir rekabet ortamı oluşturdu. Umarım bu rekabet daha
da kızışır ve artık yakın zamanda internet üzerinden çalışan işletim
sistemleri veya buna benzer ciddi gelişmelere tanık oluruz. Zaten Adobe
Flex ile geliştirilen uygulamalara baktığımızda hızla bu çizgide
ilerlendiğini görüyoruz. Daha şimdiden masaüstünde kullandığımız ve bir
çok işimizi rahatlıkla yapabiliğimiz Office programlarının
sağladıklarını Web üzerinde bize sağlayan uygulamalar boy göstermeye
başladı. Aşağıdaki linklerdeki uygulamalara göz atmanızı kesinlikle
tavsiye ederim. Word, Excell, Powerpoint, Paint, Photoshop hepsinin
yaptığı işi Web üzerinden yapabiliyorsunuz.
Flex Tabanlı, Online Kelime İşlemci Yazılımı: Buzzword
Flex SDK, Flex uygulamaları geliştirmek için kullanılan bir komut
satırı derleyicisidir. Flex SDK, en basit tanımla Flex uygulamalarının
SWF dosyalarını oluşturmasını sağlıyor diyebiliriz. Temel olarak komut
satırı derleyicisi üzerinden çalışır ve .mxml dosyalarınızı .swf
dosyalarına çevirir. Flex SDK, Adobe tarafından ücretsiz olarak
dağıtılmaktadır. Ayrıca Flex 3 ile birlikte Flex SDK 3 açık kaynak
kodlu olmuştur. Yani Flex SDK ile uygulamalarınızı ücretsiz olarak
derleyebilir ve isterseniz açık kaynak kodlu Flex SDK’e sizde katkıda
bulunabilirsiniz.
Flex Builder IDE (Integrated Development Environment)
Flex Builder, Flex uygulamalarını geliştirebileceğiniz Eclipse
tabanlı bir yazılım geliştirme ortamıdır. Oldukça gelişmiş bir IDE olan
Flex Builder, uygulama geliştirmek için programcılara büyük kolaylıklar
sağlamaktadır. Flex Builder Design ve Source modlarında çalışma
imkanını sağlamaktadır. Uygulamalarınızı derlerken, karşılaştığınız
hataları, gelişmiş hata ayıklayıcısı sayesinde anında tespit edebilir
ve düzeltebilirsiniz ve yine uygulamalarınızı DeBug seçeneği ile
çalışma anında izlemeye alarak oluşan bugları tespit edebilirsiniz.
Flex Builder hakkında gerçekten söylenecek çok şey var, zaten ilerde de
sık sık konuşacağız bunu ancak genel bir tanımlama isterseniz aşağıdaki
cümle Flex Builder’ı oldukça güzel özetliyor.
Flex Builder is the best Integrated Development
Environment for building Rich Internet Applications for any desktop or
web browser. Ted Patrick
Flex Builder Eclipse Plugin
Eclipse, bildiğiniz gibi başta C, C++, JAVA vb. gibi bir çok
programlama dili ile istediğiniz platformda uygulamalarınızı rahatlıkla
geliştirebilmeniz için kullanılabileceğiniz ücretsiz bir yazılım
geliştirme ortamıdır (IDE). Adobe Flex Builder Eclipse Plugin’i,
Eclipse IDE’ de Flex uygulamaları geliştirebilmeniz için bir eklentidir.
Flex Charting Components
Flex Charting Components, Flex Builder’da bulunan bir bileşen
paketidir. Flex 3 öncesinde ayrıca lisans gerektiren bu bileşen paketi,
Flex uygulamalarınızda gelişmiş grafik bileşenleri kullanarak
verilerinizi işlemenin ve sınıflandırarak sunmanın güzel bir yolunu
uygulamalarınızda size sağlamaktadır.
Flex Data Services (Live Cycle Data Services)
Flex Data Services yeni adıyla Live Cycle Data Services, Flex
uygulamalarınızın sunucu tarafında kullanabileceği bir yazılımdır. Flex
ile J2EE tabanlı uygulamalar geliştirmenizi sağlayan ve gelişmiş mesaj
servisi gibi ileri seviye sunucu taraflı çözümler sunan bir
teknolojidir.
Flex Uygulamaları
Flash Player
Flash Player, masaüstünde yada web tarayıcıları üzerinde SWF (Smal
Web File, Shockwave Flash Object) dosyalarının oynatılabilmesi için
gerekli olan çalışma ortamıdır (Runtime Environment). Tabi .swf
uzantısı ile dosyaların masaüstünde çalışması yalnızca bizleri, yani
geliştiricileri ilgilendiren bir durumdur. Makinanızda Flash IDE veya
Flex Builder kurulu değilse .swf dosyalarını localde ancak bir web tarayıcı sayesinde açabilirsiniz. Kullanıcıların .swf uzantılı dosyaları web sayfaları üzerinde görüntüleyebilmesi için, web tarayıcılarında Flash Player yüklü olması gerekmektedir.
Flash Player, bugün dünya üzerindeki internet bağlantısı olan
bilgisayarların %99’unda kurulu olan bir çalıştırma ortamıdır.
Kullanıcı veya geliştirici açısından bu sonucu değerlendirirsek, Flash
Player üzerinde çalışan bir web sayfasının ilgili hedef kitleye
sorunsuz ulaşabileceğini rahatlıkla söyleyebiliriz. Aklınıza şöyle bir
soru geliyorsa eğer, ‘Peki Flash Teknolojisini bukadar popüler yapan
nedir?’, şimdi bu sebeplerden bahsedelim..
Tabi burda ilk aklımıza gelen kavram hiç şüphesiz ‘Animasyon’
olacaktır. Bugün herhangi bir internet kullanıcısına ‘Flash nedir?’
diye sorun, size vereceği cevap içerisinde mutlaka bir adet ‘Animasyon’
kelimesi geçecektir. Evet Flash Player üzerinde çalışan .swf
uzantılı uygulamalar, animasyon tabanlı uygulamalardır. Animasyon
tabanlı uygulama denildiğinde ilk aklıma gelen kelime nedense hep
‘Esnek/Flexible’ oluyor ve ben bunu söylemeyi çok seviyorum. Bunun
nedenini ise şöyle bir düşündüğümde ‘animasyon = hareket, hareket =
sınırları zorlamak, sınırları zorlamak = esnek olmak’ eşitlikleri
akııııp geçiyor aklımdan. Web’in tarihine baktığımızda ise;
uygulamaların ilk başlarda sadece text’ten, sonra text ve durağan
resim’den oluştuğunu ve daha sonralarda animasyon tabanlı uygulamalara
kavuştuğunu görürüz. İşte statik web sayfalarının büyük ölçüde geride
kalmasının sağlam nedenlerinden biri olduğu için Flash Teknolojisi
bugün bu kadar popülerdir.
Flash Teknolojisini popüler yapan bir diğer önemli özelliğini ise,
SWF’nin açılımına baktığımızda görebiliyoruz: ‘Small Web File/Küçük Web
Dosyası’. Evet gerçektende Flash Player uygulamalarının bukadar
yaygınlaşmasının temel nedenlerinden bir tanesi sağladığı esnekliğe
rağmen yinede düşük boyutlu olmalarıdır. Günümüzde internet hızlarının
giderek daha da arttığını görüyoruz ancak, bundan 6-7 yıl öncesine
kadar internet erişim hızları bugüne kıyasen çok düşüktü. İşte Flash,
internet hızının düşük olduğu zamanlarda kolay yüklenebilen esnek
dosyaları ile popüler olmuştur.
Bu popülerliği sağlayan özelliklerden bir taneside hiç şüphesiz
flash web uygulamalarının herhangi bir işletim sistemi üzerinderinde
herhangi bir web tarayıcısında hiçbir değişiklik göstermeksizin
çalışmasıdır. Web tasarımı/programlaması ile ilgilenenler bilirler; bir
web uygulamasını hazırlarsınız ve yayımlarsınız, sizin çalıştığınız
tarayıcıda hiçbir problem yoktur, ancak başka bir web tarayıcıda
sitenize eriştiğinizde hazırladığınız web sayfasının çok farklı
olduğunu görebilirsiniz. Mutlaka karşılaşmışınızdır böyle bir durumla.
İşte platformdan tam bağımsız (küçük bir plug-in bağımlılığı var tabi,
FP yüklemeniz gerekiyor) uygulamalar geliştirmenizi sağladığı için
Flash Teknolojileri bugün bukadar popülerdir.
Eminim bu anlattıklarım hepinizin bildiği şeylerdir ama ben Flex
uygulamalarını, Flash uygulamalarını ve Flash Player ortamını daha net
tanımlayabilmek için bunlara değinme gereği duydum.
Flex Dosya Yapısı
Flex, dosya yapısını FlashPlayer ve dolayısıyla SWF üzerine kuruyor.
Flex projelerinizi derlediğinizde SWF dosyları üretiliyor. Flex ile
uygulamalarınızı derledikten sonra herhangi bir ek gereksinime ihtiyaç
duymadan sunucunuza dosyalarınızı gönderirsiniz. SWF dosyaları da tıpkı
diğer dosyalar gibi (resim, müzik vs.) çalıştırılmadan önce kullanıcı
tarafına indirilir ve ordan çalıştırılır. Eğer uygulamanız sunucu
tarafı ile veri alışverişinde bulunuyorsa veriler dinamik olarak
aktarılır.
Flex Programlama Dilleri
Flex’in kullandığı iki temel dil var. Bunlardan birincisi XML
yapısının neredeyse aynısı olan "MXML", ve diğeri ise "ActionScript
3.0". Flex’te kodlama temel olarak MXML tagları içerisinde yapılıyor.
MXML, Flex uygulamanın iskeletini yani arayüzünü oluşturuyor. MXML ile
iskeleti oluşturulan uygulama, ActionScript 3.0’dan aldığı güç ile
birlikte Flash Player’ın esnek yapısı üzerine Zengin İnternet
Uygulamalarını kuruyor. Yani Flex bir uygulama derlendiğinde SWF
dosyası üretiyor ve Flex uygulamalar Flash Player üzerinde zengin
içerikli uygulamalar olarak web de yerini alıyor.
Tabi birde belirtmekte fayda var Flex; başta JAVA/JSP, Coldfusion
(CFML), PHP, .NET, Ruby on Rails, PERL ve Python gibi suncuu taraflı
dillerle de uyum içerisinde çalışabiliyor.
Flex içerisinde MXML ve ActionScript kullanımına küçük bir örnek olarak aşağıdaki kodları inceleyebilirsiniz.
Buradaki kodları beraberce hızlı bir şekilde inceleyelim. MXML aynı
XML de olduğu gibi birbiri içerisine konumlanmış tag’lardan oluşur ve
XML de olduğu gibi tanımlama satırı ile başlamak zorundadır. Bu satırda
XML versiyonu ve karakter kodlama tipi belirtilir.
<?xml version="1.0" encoding="utf-8"?>
Daha sonra uygulamanın en dış tag’ı olan
<mx:Application> </mx:Application>
tagı gelir. Bu tag içerisinde belirtilen özellikler ve methodlar
uygulamanın tamamı için geçerli olan ayarları yapmamızı sağlar.
Daha sonra, <mx:Application> </mx:Application>
tagı arasına uygulamada kullanacağımız Flex bileşenlerini yazarak
uygulamamızı oluştururuz. Bu örnekte yazmış olduğumuz görsel Flex
bileşeni Button bileşenidir. <mx:Script> bileşeni ise
görsel olmayan bir Flex bileşenidir ve uygulamada ActionScript kodları
yazmamız için gereklidir. Source modunda bu kodları yazdıktan sonra
Design moduna geçersek uygulamanın çalıştığında nasıl bir görünüme
sahip olduğunu görürüz. Aşağıdaki resimlerde uygulamamızın Design
modundaki görüntüsünü ve çalıştırıldıktan sonra butona tıkladığımızdaki
görüntüsünü görebiliriz.
Flex ile Uygulama Geliştirmek
Flex ile uygulama geliştirmenin birden fazla yolu var. Şimdi sırayla bunları inceleyelim.
1- Flex Builder IDE (Integrated Development Environment)
Flex Builder kullanmak, gerçekten de Flex ile uygulama geliştirmenin
en kolay ve zevkli yöntemidir. Oldukça gelişmiş bir IDE olan Flex
Builder, uygulama geliştirmek için programcılara gereken bütün
kolaylıkları sağlıyor. Flex Builder ile uygulama geliştirme mantığı
tamamen proje yapısı üzerine kuruludur. Yani siz Flex Builder ile
uygulama geliştirmeye başlarken, ilk önce bir Flex projesi
oluşturuyorsunuz. Bu proje, Flex Builder da Flex Navigator
panelinden ayrıntılı olarak yönetilebiliyor. Projenizi oluşturduktan
sonra ise Design yada Source modlarında çalışarak uygulamanızı
rahatlıkla geliştirebilirsiniz.
Desing modunda uygulama geliştrime mantığı tamamen
sürükle-bırak-ilgili panellerden özellikleri ayarla mantığı ile
işliyor. Design modunda temel olarak uygulamanızın arabirimini
oluşturuyorsunuz. Yani kullanmak istediğiniz bileşenleri, Components panelinden çalışma alanınıza sürükleyip bırakıyorsunuz. Flex Properties panelinden ise eklediğiniz bileşenlerin özellikleri ile ilgili ayarlamaları yapıyorsunuz.
Her nekadar Design modunda uygulama geliştirebiliyor olsanızda
Source moduna da mutlaka geçmeniz gereken durumlar olacaktır. Çünkü
Design modunda ActionScript kodları yazmanız pek mümkün olmuyor. Ama
sadece Source modunda uygulamalarınızı rahatlıkla geliştirebilirsiniz.
Source modunda MXML kodları yazıyorsunuz ve MXML kodları içerisinde,
uygulamalarınızın dinamik kısımlarını ActionScript kodları yazarak
gerçekleştiriyorsunuz.
2- Flex SDK (Software Development Kit)
Flex SDK ile Flex uygulamalarınızı oldukça kolay geliştirebilirsiniz. Herhangi bir metin editör programında oluşturduğunuz .mxml
dosyalarınızı Flex SDK ile derleyerek uygulamalarınızı
oluşturabilirsiniz. Tabi Flex SDK ile uygulama geliştirmek için iyi
derecede MXML dilini bilmeniz size zaman ve az hata yapma imkanı
sağlayacaktır.
3- Flex Builder Eclipse Plugini
Adobe Eclipse kullananlar için Flex uygulamaları geliştirmeye olanak
tanıyan bir eklenti piyasaya sürmüştür. Bu eklentiyi alarak Eclipse
ortamında Flex uygulamaları geliştirebilirsiniz. Flex Builder zaten
eclipse üzerinde çalıştığı için hemen hemen Flex Builder ile aynı
şekilde Eclipse üzerinde uygulamalarınızı geliştirebilirsiniz.
Flex Uygulamalarında Arabirim Tasarımı
Flex ile geliştirdiğiniz uygulamaların Flex bileşenlerinden
oluştuğunu bir kez daha hatırlatmak istiyorum. Bu bileşenlerin standart
bir görünümü var ve uygulamanızın görünümü ilk etapta bu bileşenlerinin
görünümüne bağlıdır. Ancak, uygulamalarınızın görünümünün bu
bileşenlerin standart görünümünden farklı olmasını mutlaka
isteyeceksiniz. İşte bu noktada uygulamalarınızın görünümünü
kişiselleştirmeniz gerekecektir.
Flex ile geliştirdiğiniz uygulamaların arabirimini özelleştirmenin
en temel yolu CSS (Cascading Style Sheets – Basamaklı Stil
Sayfaları)’ten geçmektedir. Flex, CSS ile tam uyumlu olarak
çalışmaktadır. Flex bileşenelerinin (görsel bileşenlerin) tamamının
görünümünü CSS ile özelleştirmeniz mümkün. MXML içerisinde CSS kodları
yazabilirsiniz veya harici CSS dosyalarını uygulamalarınıza
uygulayabilirsiniz. Eğer ‘CSS bilmiyorum, birde şimdi CSS mi öğreneceğim’ diyorsanız Adobe, sizin için Flex Style Explorer
isimli bir online yazılım geliştirmiş. Flex Style Explorer’ı kullanarak
tüm Flex bileşenlerinin görünümünü rahat ve detaylı olarak
değiştirebilir ve oluşan CSS kodlarını alarak Flex’te
uygulayabilirsiniz (Flex Style Explorer, Flex ile yazılmıştır ve açık
kaynaklıdır). Aynı zamanda Flex 3 ile birlikte gelen yeni CSS
özellikleri sayesinde Flex Builder IDE’de uygulamanın arabirim
tasarımını yönetemini çok daha detaylı olarak yapabilirsiniz.
Flex uygulamalarınızın arabirimini özelliştirmenin CSS dışında çok
farklı yollarıda mevcut. Adobe Photoshop, Adobe Illustrator, Adobe
Fireworks ve Adobe Flash ile Flex bileşenlerinin görünümünü bizzat
kendiniz tasarlayarak bunları Flex uygulamalarınıza aktarabilirsiniz.
Adobe, Creative Suite 3 programları ile Flex uygulamalarınız için
arabirimler oluşturmanızı kolaylaştırmak için oldukça sıkı bir çalışma
içerisine girmiş ve bunun sonucunda Flash CS3 ve Fireworks CS3 için
Flex Skin Component’i oluşturmuş. Bu componentleri yükleyerek Flash ve
Fireworks aracılığı ile Flex uygulamalarınız için kolaylıkla skinler
oluşturabilirsiniz. CS3 programlarını kullanarak Flex uygulamalarınızın
arabirimlerini özelleştirmek konusunda Adobe Developer Network’te yer
alan aşağıdaki detaylı makalaleler kesinlike size bu konuda çok şey
katacaktır.
Designing Flex 2 skins with Flash, Photoshop, Fireworks, or Illustrator
Designing Flex 3 skins and styles using Creative Suite 3 and Flex Builder 3
Designing Flex applications with Fireworks CS3
Flex Interface Guide
Tabi bu konuda bir de şöyle bir alternatif söz konusu; nasıl ki
statik web sayfaları için veya Flash web siteler için templateler
mevcut ise, Flex içinde hazır skinler var. Yani siz uygulamanızı
programladıktan sonra ücretsiz Flex skinleri sağlayan bir siteden
beğendiğiniz bir skini indirerek uygulamanıza rahatlıkla
giydirebilirsiniz. Benim bildiğim şuanda Flex skinleri sağlayan üç adet
servis var. Bunlara aşağıdaki linklerden ulaşabilirsiniz.
Scale Nine
Fill Colors
Fle(ks)ray
Flex Explorers
Flex ile uygulama geliştirmeye başlayan herkesin bildiği gibi
uygulama geliştirmek oldukça kolay! Zaten kolay olan, Flex ile uygulama
geliştirmeyi daha da kolaylıştırmak için tüm dünya seferber olmuş
neredeyse. Aşağıdaki linklerden ulaşabileceğiniz uygulamalar bir çok
konuda size oldukça yardımcı olabilir. Bu uygulamalardan bir kısmı
Adobe tarafından, bir kısmıda farklı firma yada kişiler tarafından
oluşturulmuştur.
Flex 3 Style Explorer
Flex 3 Component Explorer
Flex Chart Explorer
Flex Button Skin Explorer
Flex Resize Manager
Flex Filter Explorer
Flex ve Flash
Flex çıktığı günden itibaren Flash ile kıyaslanıyor. Tabi her iki
teknolojide Flash Player üzerinde çalışan web uygulamaları oluşturduğu
için, Flex ve Flash’ın karıştırılması çok normal. Ama nihayetinde
oluşturdukları uygulamaların temel özelliklerine ve amaçlarına bakarsak
kesinlikle Flex ve Flash’ın aynı işi yapmadığını görürüz. Flash
animasyon tabanlı uygulamalar için eşsiz bir IDE, ancak kompleks
veriler kullanan uygulamalar geliştirmek için çok elverişli değil yada
temel olarak Flash’ın amacı bu değil diyebiliriz. Ancak Flex tamamen
veri odaklı uygulamalar için geliştirilmiş bir teknoloji. Flex ile
amaçlanan, temelde Flash kadar animasyon tabanlı olmayan, kolay
geliştirilebilen ve kompleks verilerle daha kolay çalışabilen
uygulamalar geliştirmektir. İşte Flex ve Flash arasındaki ince çizgi
tamda bu anlattığım noktadan geçiyor. Yani bir tarafta animasyon, diğer
tarafta ise veri ağır basıyor.
Flex ve AIR
Bildiğiniz gibi AIR (Adobe Integrated Runtime), Zengin
internet uygulamalarını masaüstüne taşımak amacıyla geliştirilen ve
kısa bir süre önce (25 Şubat 2008) ilk kararlı sürümü duyurulan bir
teknoloji. Adobe AIR bana göre tek kelimeyle müthiş bir gelişim süreci
yaşadı. Apollo kod adıyla Adobe Labs‘a
düştüğü günden sonra okadar ilgi gördü o kadar sevildi ki daha beta
sürümünden çıkmadan tüm dünyada seminerler, konferanslar ve bir çok
etkinliğe konu oldu. Adobe, AIR’ın tanıtımına çok büyük önem verdi.
Hepiniz duymuşunuzdur Adobe, AIR için bir otobüs dizayn ederek bu
otobüsü onAIR Bus Tour
adıyla dünya turuna çıkardı. Otobüs içerisinde AIR ekibinden bir çok
geliştirici bir çok ülkeyi gezdiler (hâla da gezmeye devam ediyorlar
sanırım) ve AIR hakkında eğitimler verdiler. Bu ve bunun gibi bir çok
etkinlik sayesinde AIR multimedia dünyası tarafından kısa bir sürede
tanındı ve benimsendi. Bunun sonucunda daha ilk sürümü duyurulmadan bir
çok firma AIR ile geliştirdikleri uygulamaları kullanıma sundular.Tabi
bu işin reklam kısmı idi, şimdi biraz AIR’ın işlevine değinelim
isterseniz.
AIR; Flash, Flex ve AJAX/HTML geliştiricilerine mevcut
uygulamalarında herhangi bir değişiklik yapmadan uygulamalarını yüksek
performanslı masaüstü uygulamalarına dönüştürme imkanı sağlıyor.
Eğer Flex geliştiricisi iseniz, Flex Builder IDE’de AIR projeleri
oluşturabilir veya mevcut projelerinizi AIR projelerine
çevirebilirsiniz. Eğer Flash geliştiricisi iseniz, Flash CS3 için
geliştirilmiş AIR componenti ile mevcut Flash projelerinizi AIR
uygulaması olarak export edebilirsiniz. Eğer AJAX geliştiricisi iseniz,
Dreamweaver CS3 için geliştirilmiş AIR componenti ile mevcut
projelerinizi AIR uygulamaları olarak export edebilirsiniz. Aynı
zamanda ücretsiz AIR SDK’i ile herhangi bir metin editöründe yazdığınız
.mxml dosyalarınızı derleyerek AIR uygulamaları oluşturabilirsiniz.
Daha önce bir yazımda Flex Builder IDE’de basit bir AIR uygulaması
anlatmıştım, O yazıya ve Engin Yöyen’in AIR hakkında yazdığı oldukça
güzel yazılara portal üzerinden ulaşabilirsiniz. Kesinlikle okumanızı
öneriyorum.
Açık Kaynak Flex ve AIR
Adobe, geleceğe yatırım yaparak Flex ve AIR’ın kodlarını Mozilla
Public Lisansı altında geliştiricilere açtı. Henüz bunun sonucu ile
ilgili bir gelişme duymasak ta kısa zamanda AIR ve Flex ile ilgili
şaşırtıcı gelişmelere rastlayabiliriz. Flex ve AIR’ın kaynak kodlarına
ve diğer açık kaynak Adobe projelerine Adobe Open Source sayfasından ulaşabilirsiniz.
Ücretsiz Flex Builder
Adobe, Flex 3 ile birlikte oldukça güzel gelişmelere imza atmaya
devam ediyor. Bunlardan bir tanesi hiç şüphesiz ücretsiz Flex Builder
Educational lisans uygulaması. Eğer ilköğretim, lise veya üniversitede
öğrenci veya öğretim görevlisi iseniz sizde ücretsiz Flex Builder 3
lisansı alabilirsiniz. Ücretsiz Flex Builder 3 lisansı almak için
yapmanız gereken tek şey Flex Registiration
sayfasını açarak, öğrenci veya fakülte lisansını seçtikten sonra
karşınıza gelen formu doldurmak. Bu formda kişisel bilgilerinizin
yanısıra öğrenci veya fakülte için gerekli olan belgeyi de göndermeniz
gerekiyor. Bu belge, eğitim kurumunuzdan aldığınız belgenin taranmış
bir kopyası (GIF veya PDF) veya o eğitim kurumu için geçerli kimlik
kartınızın taranmış bir kopyası (GIF veya PDF) olmalıdır.
Formu doldurup gönderdikten sonra bir hafta içerisinde size e-posta
ile Flex Builder Educational şifreniz gönderilecektir. Eğer bir hafta
içerisinde şifreniz e-posta ile gönderilmemiş ise (Bu arada dikkat edin, bana gönderilen e-postayı ben spam kutusunda buldum!)
adresine durumu bildiren kısa bir e-posta atabilirsiniz. Şifrenizi
aldıktan sonra Flex Builder 3 Professional deneme sürümünü indirebilir
ve kurulumda şifrenizi girerek artık ücretsiz olarak kullanmaya
başlayabilirsiniz.
Flex ve AIR Linux!
Flex ve AIR’ın Adobe tarafından yapılan tanımlarında mutlaka ‘platform bağımsız’
ifadesine rastlamışınızdır. Windows ve Mac için destek veren bu
teknolojiler ile artık Linux ortamında da uygulama geliştirilebilecek.
Bir süredir Adobe Labs’ta Alpha sürümünde olan Flex Builder Linux bu
yıl sonlarına doğru ilk sürümüyle duyurulacak.
Bunun yanı sıra geçtiğimiz günlerde Adobe AIR Linux sürümü
duyuruldu. Artık AIR çalışma ortamının Linux versiyonu sayesinde
geliştirilen uygulamalar Linux ortamında çalışabilecek ve AIR SDK Linux
ile Linux ortamında da AIR uygulamaları geliştirilebilecek. Aşağıdaki
adreslerden Flex Builder Linux ve AIR Linux sürümlerini indirebilir ve
test edebilirsiniz.
Flex Builder Linux Alpha 3
AIR Linux Alpha 1
Flex Kaynakları
Flex ile ilgili internet üzerinden (ücretli/ücretsiz)
ulaşabileceğiniz okadar çok kaynak varki bunların hepsini burada
sıralamak pek mümkün değil. Ama ben genel olarak faydalı gördüğüm
kaynakları vereceğim. Bunlar büyük ölçüde yabancı kaynaklar. Hatta
tamamen yabancı kaynaklar. Şuanda malesef çok sağlam Türkçe Flex
kaynağı bulamıyoruz. Flex ile ilgili açılmış forum sayfaları, bloglar
vb gibi siteler mevcut ancak içerik kısıtlı. En kısa zamanda MMIstanbul
üzerinde oldukça yoğun bir şekilde Flex dersleri yayınlamayı
düşünüyoruz. Daha önce yayınladığımız dersleri okuyabilir ve bundan
sonra yayınlayacağımız dersleri takip edebilirsiniz. Aşağıdaki
kaynaklar(özellikle yabancı) Flex konusunda umarım doyurucu olur.
Şimdilik Flex Kırıntıları Bulabileceğiniz Türkçe Kaynaklar:
MMIstanbul – Türkiye Adobe Kullanıcı Grubu
Benim Blogum
Adobe Turk Flex Forumu
Kırıntıdan Çok Daha Fazlasını Bulabileceğiniz Yabancı Kaynaklar:
Adobe Flex Ürün Sayfası Flex ile ilgili bağlantılar
Adobe Flex Developer Connection Flex ile ilgili harika Makaleler ve Dersler
Online Flex Dökümanları Adobe Resmi Flex Dökümanları
İndirilebilir Flex Dökümanları Adobe Resmi Flex Dökümanları
Adobe Flex Resmi Web Sayfası En Kapsamlı Flex Sitesi
Adobe, Flex Forumları
Lynda.com Flex ve AIR Video Eğitim Setleri[/url]
En iyi Flex Kitapları
FlexCoders – Yahoo Mail Listesi
FlexComponents – Yahoo Mail Listesi
Flex Cook Book Beta Flex Kullanıcılarının Oluşturduğu Dökümanlar
Adobe Flex Ekibi Blog Sayfası
İstediğiniz Ülkede Flex Programcılarına Ulaşabileceğiniz Ağ
Download/İndir
Aşağıdaki linklerden Flex SDK, Flex Builder, AIR ve AIR SDK’i
indirebilirsiniz. Flex Builder deneme sürümünü indirmeden önce Adobe
kullanıcı hesabınızla giriş yapmanız gerekmektedir.
Adobe Flex Builder Professional 3 – 60 günlük deneme sürümü
Adobe Flex Software Development Kit 3
Adobe Integrated Runtime
AIR Software Development Kit
Sonuç/Tavsiye
Sonuç olarak birkaç cümle daha söyleyecek olursakm; Flex, bir kaç
yıl sonra kuşkusuz bugünkinden daha üst bir noktaya gelecektir
vecgelecekte Flex Builder üzerinde Flex ve AIR ile hertürlü uygulama
geliştirilebilecektir. Sürüm numaralarına baktığımızda her ikisininde
daha oldukça genç olduğunu söyleyebiliriz. Her ne kadar genç
teknolojiler olsalarda, arkalarında Flash Player varken daha da hızlı
gelişimleri kaçınılmaz olacaktır.
Eğer web teknolojileri ile yakından ilgileniyorsanız veya web
programcısıysanız veya bu dünyada yeniyseniz, kesinlikle Adobe’nin
Flash, Flex ve AIR teknolojilerini araştırmanızı ve öğrenmenizi tavsiye
ediyorum. Flash, Flex ve AIR ile tanıştıktan sonra web ve masaüstü
uygulamalarınızda interaktivitenin tadını çıkaracağınızdan eminim.
Multimedia Programlama Dünyasına Hoşgeldiniz! Tekrar görüşmek üzere..