Flash Platformu ve Yazılım Dünyasındaki Yeri

advertisement
Flash Platformu ve Yazılım Dünyasındaki Yeri
Yeni bir yazılım ürünü geliştirirken programcıların yapması gereken en önemli hazırlıklardan birisi
hedef kitlenin analizidir. Çünkü yazılım bu hedef kitlenin ihtiyaçları ve olanakları doğrultusunda
şekillenecektir. Programcılar, hedef kitlenin ihtiyaçlarını gidermeye çalışırken çok önemli bir kısıtlama
ile karşı karşıyadır: hedef kitlenin yazılımı kullanacağı platform.
Yazılımların niteliklerine göre hedef kitlenin kullandığı platformlar büyük çeşitlilik gösterebilmektedir.
Örneğin bir masaüstü uygulaması geliştiriliyorsa, bu uygulama hedef kitlenin kullanabileceği tüm
işletim sistemi üzerinde çalışabilir olmalıdır. Aksi halde hedef kitledeki insanların bir bölümü
uygulamanın kapsamı dışında kalacaktır. Örnek vermek gerekirse bir geliştirilmiş bir Windows
uygulaması bu haliyle Linux ya da MacOS işletim sistemlerinde çalıştırılamaz. Uygulamanın diğer
işletim sistemlerinde de çalışabilir olabilmesi için bu işletim sistemi özelliklerine göre tekrar
derlenmesi ve bu işletim sistemleri üzerinde çalıştırılabilir dosyalarının oluşturulması gerekir. Tabii bu
her zaman programcıların elinde olan bir seçenek değildir. Örneğin Microsoft firmasının Visual Studio
paketi kullanılarak MacOs ya da Linux uyumlu yazılımlar üretilemez. Bu durumda programcıların
kullandığı yazılım geliştirme platformu dramatik bir şekilde önem kazanmaktadır.
Aynı durum internet uygulaması geliştiren programcıların da karşısındadır. Firefox gibi bir internet
tarayıcı için geliştirilen bir program kodunun Safari, Opera, Google Chrome ya da Internet Explorer
üzerinde düzgün çalışma garantisi yoktur. Bu durum özellikle yazılan CSS (Cascading Style Sheet –
Yığılmalı Stil Dosyaları) dosyalarında gözlenen bir sorundur. Farklı tarayıcıların CSS kodlarını farklı
biçimlerde yorumlaması sonucu programcılar farklı tarayıcılarda beklemedikleri görünümlerle
karşılaşabilmektedir. Bu nedenle internet programcıları yazdıkları kodları (CSS ya da Javascript)
yayımlamadan önce kendi bilgisayarında farklı tarayıcılar üzerinde test ederler.
Farklı tarayıcılar, farklı işletim sistemleri hatta bu işletim sistemlerinin farklı tatları (32b, 64b sürümler
gibi) ile karşı karşıya olan programcılar için bunların tümüne hitap edebilecek yazılım geliştirme
platformlarından birisi günümüzde Adobe firması tarafından geliştirilen Flash platformudur. Genel
algının aksine Flash platformu sadece internet sayfalarında göz alıcı grafikler ve animasyonlar
üretmek için kullanılan bir geliştirme ortamı hürriyetini terk edeli uzun bir zaman geçmiştir. Bugün
Flash uygulamaları çeşitli Flash Oynatıcı (Flash Runtime) sürümleri sayesinde çok geniş bir donanım
yelpazesi üzerinde koşturulabilmektedir.
Bu gerçeğin arkasındaki yapı Flash Oynatıcısı’nı platformla haberleşme merkezi olarak kullanma
sistemi yatmaktadır. Flash programcıları platforma özgü değil Flash Oynatıcı’ya özgü kod yazarlar. Bu
sayede yazılan kod ya da geliştirilen proje bu Flash Oynatıcı’yı destekleyen her platformda çalışabilir
olur. Flash Oynatıcı’ların farklı tatlarının olmasının nedeni çalıştıkları platformlara özgü
yetenek/kısıtlılıkları bulunmasıdır. Fakat tüm Flash Oynatıcılar ActionScript dilinin çekirdek dil
yapılarını (sentaks, sınıf kullanımı vb.) desteklediklerinden programcıların farklı oynatıcı tatları için
yeni bir dil öğrenmeleri gerekmez. Sadece hedefteki oynatıcı tadına göre dilin kullanılan özellikleri
değişir.
Flash Oynatıcıları ailesini tanıyalım:
Adobe Flash Player: Adobe Flash Player karşımıza iki sürümüyle çıkmaktadır. Bir sürümü kendi başına
çalışabilen (stand-alone) diğeri de internet tarayıcısı eklentisi (add-on) sürümüdür. Flash Oynatıcı’ları
ailesinin en geniş kullanıma sahip üyesidir. Windows, Linux ya da MacOS sistemleri için kendi başına
çalışan ve Firefox, IE, Chrome gibi genel internet tarayıcıları için eklenti olarak yüklenebilir sürümleri
mevcuttur. Flash Player programcıya platform özgürlüğü sunarken, kullanıcıya da güvenlik sağlar.
Örnek vermek gerekirse Flash Player’in veritabanı bağlantısı kurma ya da dosya sistemine müdahale
etme yetenekleri yoktur. Bu yolla kullanıcı güvenliği garanti altına alınmıştır.
Adobe Flash Player Lite: Flash Player Lite, PDA ya da cep telefonu gibi mobil aygıtlar üzerinde çalışan
Flash Oynatıcı sürümüdür. Bu aygıtların işlem yapma kapasiteleri sınırlı olduğundan ActionScript
dilinin tüm yetenekleri bu oynatıcı üzerinde kullanılamaz. Yine aygıtların işlem güçleri kısıtlı
olduğundan bu oynatıcının diğer tatlara göre daha yavaş olduğu söylenebilir. Fakat Flash Player
Lite’ın da titreşim gibi bu cihazlara has özellikleri kullanabilme yetenekleri mevcuttur. Programcının
tek yapması gereken projesini hazırlarken ActionScript dilinin sadece Flash Player Lite’in
kullanabileceği özelliklerini kullanmak ve projesini bu oynatıcı için derlemektir.
Adobe AIR: AIR (Adobe Integrated Runtime) platformu masaüstü uygulama geliştirmek için
kullanılmaktadır. Bu uygulamalar işletim sistemi üzerine normal bir uygulama olarak kurulurlar ve
çalıştırılırlar. AIR uygulamaları ActionScript dili yanında HTML ve JavaScript kullanılarak da
geliştirilebilir. Bu uygulamalar işletim sistemi düzeyinde son kullanıcı bilgisayarına kurulduklarından
Flash Player’a göre daha az güvenlik kısıtlamasına maruz kalırlar. Örneğin AIR uygulamaları kendi
içinde veritabanı bağlantıları gerçekleştirebilirler.
Peki bu sistem nasıl çalışmaktadır? Bildiğimiz üzere bilgisayar sadece makine kodu denen bir dili
anlayabilmekte ve bu dilin yönergelerini işleyebilmektedir. Programlar da yazıldıktan sonra
derlenerek bu makine koduna çevrilmektedir. Flash uygulamaları diğer program geliştirme
ortamlarının aksine 2 kere derlenerek çalıştırılırlar. İlk derleme uygulama geliştirme ortamı
(Integrated Development Environment) tarafından gerçekleştirilir. Bu sürecin çıktısı çok bilinen SWF
formatındaki bir dosyadır. Bu dosya içinde gerekli tüm malzemeler (sesler, görseller, animasyonlar) ve
ActionScript kodları paketlenmiş haldedir. (Not: Bu paketler SWF Ayırıcı (swf decompiler) programları
ile açıldığında tüm içerik ve kodlara ulaşmak mümkündür.) Bu paketlenmiş içerik Flash Oynatıcı
tarafından tekrar derlenerek makine koduna çevrilir ve bilgisayar donanımı tarafından
çalıştırılabilecek hale getirilir. Bu 2 aşamalı süreç daha karmaşık olmakla birlikte açıklanması bu
yazının hedefleri arasında yer almamaktadır (Belki başka bir yazıya ).
Görüldüğü üzere Flash platformu pek çok platforma ve büyük bir kullanıcı kitlesine hitap edebilecek
yeteneklere sahip bir uygulama geliştirme ortamıdır. An itibariyle de bölüm programımızda iki ders
platformun tanıtılmasına ayrılmış durumdadır. Ayrıca konu kulübümüzün kursları arasında da yer
almaktadır. Flash ve ActionScript öğrenmek bence şu an BÖTE öğrencileri için en büyük yatırımlardan
birisidir. Platform hakkında haber ve kaynaklara ulaşmak için platformun resmi internet adresi
http://www.adobe.com/devnet/flash/ kullanılabilir.
Saygılarımla.
Arş. Gör. Onur Dönmez, Ege Üniversitesi Eğitim Fakültesi Bilgisayar ve Öğretim Teknolojileri Eğitimi
Bölümü
Download