Adobe Flex'e Geniş Bir Bakış
İlyas Doğruer Tarih: 3/04/2008 Yorum: 8 adet
Okunma : 4202 Tutanlar: Bu yazıyı 7 kişi tuttu.
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 Tabanlı, Online Sunum Hazırlama Yazılımı: Slide Rocket
- Flex Tabanlı, Online Hesaplama Yazılımı: Idubee
- Flex Tabanlı, Online Resim İşleme Yazılımı: Fauxto
- Flex Tabanlı, Gelişmiş Online Resim İşleme Yazılımı: FlauntR
- Flex Tabanlı, Online Photoshop Versiyonu: Photoshop Express
Adobe Flex Ürün Ailesi
Flex SDK (Software Development Kit)
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.
Flash Player platformu üzerinde Flex ve AIR ile geliştirilen uygulamalar arasındaki yakınlığı, ve bu uygulamaların Masaüstü ve Web'i ne kadar yakınlaştırdığını daha basit bir şekilde görmek isterseniz buradaki animasyonu izleyebilirsiniz.
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.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function mesaj():void
{
Alert.show('Merhaba Adobe Flex 3');
}
]]>
</mx:Script>
<mx:Button id="giris_btn" label="Giriş" click="mesaj()" />
</mx:Application>
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. Fex SDK ile Windows, Mac ve Linux platformlarında nasıl uygulama geliştirildiğini merak ediyorsanız Veli Ogla Süngütay'ın yazdığı detaylı derse buradan göz atabilirsiniz.
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.
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!) info@flexregistration.com 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 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:
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..
ilyas sayende MMIstanbul' un Flex içeriği "bilgi kırıntısından" çok daha fazlasına ulaşmak üzere.
eline sağlık, semineri de bekliyoruz:-)
Sağolun. Önceki yazıda Flex'e çok yüzeysel değinmişim :) Daha ayrıntılı yazayımda kimsenin kafasında Flex ile ilgili bir soru işareti kalmasın istedim.
Murat abi daha yeni başlıyoruz ;). MMIstanbul üzerinde kısa zamanda Flex ile ilgili ciddi ve geniş bir Türkçe kaynak arşivi oluşturacağız inşallah.
MMIstanbul üzerinde kısa zamanda Flex ile ilgili ciddi ve geniş bir Türkçe kaynak arşivi oluşturacağız inşallah.
Hocam merhabalar gösterdiğin ilgi ve bilgi paylaşımı için büyük teşekürler. Devamını heycanla ve merakla bekliyorum.
Kolay gelsin.
İlyas hocam merhaba. inanırmısınız ilk defa MMİstanbulu keşfettim ve ilk okuduğum makale Flex ile ilgili olan sizin makaleniz. çok açıklayıcı olmuş teşekkürler..
Çok güzel bir çalışma olmuş paylaşım için teşekkür ederim.
Çok güzel bir yazı teşekkür ederim İlyas Bey
Bu kadar süzülmüş öz bilgileri bizimle paylaştığınız için teşekkürler.
Etkinlikler
Toplantı
Özgür Yazılım ve Linux Günleri '10
Özgür Yazılım ve Linux Günleri '10
İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü ve Linux Kullanıcıları Derneği'nin 9 yıldır düzenlemekte oldukları etkinlikler bu yıl `Özgür Y...
Kategori:
Toplantı
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 51 (50 kayıtlı, 1 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Blog Bölümü Blogevi.com'a Taşınıyor
Selam arkadaşlar MMIstanbul'da , tasarımcı ve programcıların blog yazılarını "feedleyerek" MMIstanbul okurlarını MMIstanbul dışın ...
7.500'üncü üyemiz Cem Koç!
Neler Yapılabilir?
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)










Muazzam bir derleme ve kaynak olmuş İlyas. Ellerine sağlık.