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ü