Adobe Flex

Adobe Flex, çapraz platform tabanlı zengin İnternet uygulamalarının Adobe Flash platformu üzerinde geliştirilmesi ve dağıtılması amacıyla Adobe Systems tarafından yayımlanan bir yazılım geliştirme kitidir. Flex uygulamaları, Adobe Flash Builder kullanılarak ya da Adobe'den ücretsiz olarak kullanılabilen Flex derleyicisi kullanılarak yazılabilir. İlk sürümü Mart 2004'te bir yazılım geliştirme kiti, bir IDE ve Flex Data Services olarak bilinen bir Java EE entegrasyon uygulaması Macromedia tarafından dahil edildi. 2005 yılında Adobe, Macromedia'yı elde ettiğinden beri, artık Flex'in daha sonraki sürümleri, Flex Data Services için bir lisans gerektiriyor, LiveCylce Data Services gibi yeniden markalanmış ayrı bir ürün haline geldi. Adobe tarafından 2007 yılında kod katkısıyla başlayan bir açık kaynak projesi olan BlazeDS, Adobe LiveCycle Data Services'a bir alternatiftir. Şubat 2008'de Adobe, özgür Mozilla Kamu Lisansı altında Flex 3 SDK'yı yayınladı ve böylece Flex uygulamaları, herhangi bir standart IDE kullanılarak geliştirilebilir, örneğin Eclipse. Ayrıca Adobe Flash Builder denilen ticarî ve tescilli bir IDE vardır.

Genel bakış
Geleneksel uygulama programcıları, bunun üzerine başlangıçta tasarlanan Flash Platformunu animasyon metaforuna uyum sağlamakta zorlanmıştır. Flex, bu geliştiricilere bir iş akışı ve tanıdık progralama modeli sağlayarak bu sorunu en aza indirmek istiyor. MXML, XML tabanlı bir işaretleme dili, grafik kullanıcı arabirimleri hazırlamak ve inşa etmekte bir çare sunar. Flash Player'ın çekirdek dili ECMAScript standardına dayanmaktadır, etkileşimli bir biçimde ActionScript'in kullanımı aracığıyla elde edilir.

Flex SDK, liste kutuları, ağaçlar, birkaç metin kontrolü, çeşitli yapı konteynerları ve düğmeler de dahil olmak üzere bir dizi kullanıcı arayüzü bileşeniyle birlikte gelir. Çizelge ve grafikler, bir eklenti olarak kullanılabilir. Form doğrulama, sürükle ve bırak, uygulama durumları, animasyon efektleri, tipik diyaloglar, web hizmetleri gibi diğer özellikleri ve diğer etkileşimleri, uygulama çatısını tamamlıyor.

Çok katmanlı bir modelde, Flash uygulamalarını sunum katmanı olarak sunun. Sayfa tabanlı HTML uygulamalarına benzemeyen Flex uygulamaları, önemli değişikliklerin gösterildiği yerde yeni bir sayfa yüklemeyi gerektirmeyen bir durumsal istemci sağlar. Benzer şekilde Flex ve Flash Player, görüntüyü yeniden yüklemek üzere istemci gerektirmeden sunucu tarafı bileşenlerden veriyi yüklemek ve göndermeye dair birçok yararlı yol sağlar. Yine de bu fonksiyonellik geçmişte HTML ve JavaScript geliştirmesinde avantajlar sundu, büyük tarayıcılardaki XMLHttpRequest desteğinin artması HTML tabanlı geliştirmede dahi yaygın bir uygulamayı veri yüklemesini eşzamansızlaştırmıştır.

Uygulama Geliştirme Süreci
Önceden tanımlanmış bileşenlerden oluşan bir seti kullanarak bir uygulama arayüzü tanımlayın (formlar, düğmeler vb.).
Bir kullanıcı arabirimi tasarımı halinde bileşenleri düzenleyin.
Bir diğeriyle uygulama arayüzünden oluşan dinamik davranış ekleyin.
Görsel tasarım tanımlamak için stilleri ve temaları kullanın.
Veri hizmetlerine gerektiği gibi bağlanın ve tanımlayın.
Flash Player'da çalışan bir SWF dosyasının içine kaynak kodunu gömün.

Flex ile program geliştirme ile ilgili Türkçe kaynaklara FlexTurkce.com sitesinden ulaşabilirsiniz.

Sürüm geçmişi
Flex 1.0 – Mart 2004
Flex 1.5 – Ekim 2004
Flex 2.0 (Alpha) – Ekim 2005
Flex 2.0 Beta 1 – Şubat 2006
Flex 2.0 Beta 2 – Mart 2006
Flex 2.0 Beta 3 – Mayıs 2006
Flex 2.0 Final – 28 Haziran 2006
Flex 2.0.1 – 5 Ocak 2007
Flex 3.0 Beta 1 – 11 Haziran 2007
Flex 3.0 Beta 2 – 1 Ekim 2007
Flex 3.0 Beta 3 – 12 Aralık 2007
Flex 3.0 – 25 Şubat 2008
Flex 3.1 – 15 Ağustos 2008
Flex 3.2 – 17 Kasım 2008
Flex 3.3 – 4 Mart 2009
Flex 3.4 – 18 Ağustos 2009
Flex 3.5 – 18 Aralık 2009
Flex 4.0 – 22 Mart 2010

Sürümler
Macromedia Flex Server 1.0 ve 1.5
Macromedia, Flex 1.0 ve 1.5'in ilk sürümleriyle kurumsal uygulama geliştirme pazarını hedefledi. Şirket, teknolojiyi işlemci başına yaklaşık 15.000 ABD$ bir fiyata sundu. Dağıtım için gerekli Java EE uygulama sunucusu, Flash uygulamaları (ikili SWF dosyaları) içine anında MXML ve ActionScript derlendi. Her sunucu lisansı Flex Builder IDE için 5 lisansı içine aldı.

Adobe Flex 2
Adobe, Flex 2'nin piyasaya sürülmesiyle Flex ürün serisi için lisanslama modelini önemli ölçüde değiştirdi. Kullanıcı arayüzü bileşenleri ve yardımcı programların komut satırı derleyicileri ve tam sınıf kitaplığından oluşan çekirdek Flex SDK, ücretsiz bir karşıdan yükleme olarak hazırlanmıştı. Flex Builder IDE ile birlikte aynı SDK'ye nazaran sınırlama ya da kısıtlama içermeyen Flex 2 SDK ile yalnızca, tam Flex uygulamaları kurulup dağıtılabiliyor.

Adobe, Flex Builder'in yeni sürümünü açık kaynak Eclipse platformuna dayanarak kurdu. Şirket, Flex Builder 2'nin iki sürümü, Standard ve Professional'ı piyasaya sürdü. Professional sürümü, Flex Grafik Bileşenleri kitaplığını içerir.

Flex Data Services 2 aracılığıyla kurumsal odaklı hizmetleri hazır bulun. Bu sunucu hizmeti eşzamanlı veri, Abone Yayınla, veri sıkıştırma ve otomatik test sağlar. Flex 1.0 ve 1.5'in aksine Flex Data Services, Flex uygulamalarının dağıtılması için gerekli değildir.

Adobe, Flex 2'nin yayınlanmaasına rastlayarak Actionscript 3 olarak bilinen, Flex 2'nin yayınlanmasıyla örtüşen, en son ECMAScript teknik özelliğini yansıtan ActionScript programlama dilinin yeni bir sürümünü tanıttı. Actionscript 3 ve Flex 2'nin kullanılması, Flash Player'ın sürüm 9 veya daha sonrasını gerektirir. Yeni ActionScript 3'ü çalıştırmak için Flash Player 9'a yeni ve daha sağlam bir sanal makine dahil edildi.

Flex, Adobe ismi altında yeniden ürün adı almış olan ilk Macromedia ürünü idi.

Adobe Flex 3
Adobe, Mozilla Kamu Lisansı'nın koşulları altında (Flex Builder ve LiveCycle Veri Hizmetleri'ni dışlayan) Flex 3 SDK'yı piyasaya sürmek üzere kendi niyetini 26 Nisan 2007'de duyurdu. Adobe, Haziran 2007'de Flex 3'ün ilk betasını Moxie kod adıyla piyasaya çıkardı. AIR desteği ve Flex Builder IDE'ye özel ek profilleme ve yeniden düzenlemeyi, Adobe'nin Creative Suite ürünlerinin yeni sürümleriyle entegrasyonu büyük geliştirmeler içerir.