Flex'de swf Dosya Boyutu Problemi ve Çözüm İpuçları
Ahmet Erkan ÇELİK Tarih: 24/07/2008 Yorum: 2 adet
Okunma : 1758 Tutanlar: Bu yazıyı 2 kişi tuttu.
Flex ile kod yazmaya başladığınız ilk anda büyük bir heyecan içerisinde şimdiye kadar yapmak isteyip de yapamadığınız projeler aniden yeniden bir projeye dönüşüverir. Ancak biraz kod yazdıktan sonra gittikçe büyüyen swf dosyasıyla nasıl başa çıkacağınızı kara kara düşünmeye başlarsınız.
Hele amacınız bir internet uygulaması geliştirmekse, bir türlü yüklenmek bilmeyen sayfa projenizi yeniden, daha ileri bir teknolojinin olacağı bir tarihe doğru, ertelemenize bile neden olabilir. Oturup kara kara swf dosyasının boyutunu nasıl düşüreceğinizi düşünmeye balarsınız.
Bu yazımızda flex ile optimizasyon problemini inceleyeceğiz.
1-Flex derleyicisine optimizasyon talimatı verilmesi:
İlk yapılması gereken işlem flex derleyicisine optimizasyon talimatı vermektir. Bunun için Flex Navigator Panlinden projenizin üzerine sağ tıklayın ve properties seçeneğine tıklayın (yada Project menüsünden properties'i seçin) Sağda bulunan flex compiler seçeneğine tıklayın ve Aditional compiler arguments bağlıklı kutuya "-locale en_US" parametresinden sonra bir boşluk bırakarak:
-optimize=true
Yazın. Bu seçenek ile swf dosyanızın boyutu %40 'a kadar düşebilir.
2- mxml yerine Action Script kullanımı:
mxml dili ile oluşturulan program Action Script ile oluşturulandan daha şişkin olmaktadır. Mümkün olduğunca Action Script kullanmakta fayda var. Elbette tüm programı ActionScript ile oluşturmak hem çok zaman alır hem de tasarımı zorlaştırır. Proje süresinin ve harcanan emeğin de optimize edilmesi söz konusu olduğu için benim kişisel tercihim görüntülenmeyen sınıflar için ve nesnelere ait olayları kontrol eden Listener fonksiyonların atanması için Action Script ile yazılması yönündedir.
3-Modül kullanımı:
Proje içindeki tüm bölümler programın her oturumunda kullanılmayabilir. Bu nedenle mümkün olduğunca birbirinden bağımsız bölümleri ayrı moduller halinde hazırlamak ve gerektiğinde çağırmak daha verimli olacaktır. Ayrıca bu yolla takım çalışması yapmakta kolay olur. Yine benim kişisel tercihim tüm modulleri kontrol eden ana bir Application yazılması ve geriye kalan her şeyin modul olarak yazılması yönündedir.
4-Amaca uygun class geliştirme:
Her yazılım için geçerli bir kural vardır ki, o da gereksiz kod tekrarından kaçınmak gerektiğidir. Programı mümkün olan en yapısal ve nesne yönelimli şekilde oluşturmak gerekir. Bu hem o anda yazdığınız programda gereksiz kod tekrarını ortadan kaldırır. Hem de yazdığınız kodların başka projelerde de kullanılabilmesini sağlar.
Evet RSL de önemli;
Eğer tek bir swf varsa, RSL pek işe yaramayacaktır, çünkü swf'nin çalışması için hem swf hem swc yüklenmeli. Ama Çalışma birden fazla swf den (mesela modüllerden) oluşuyorsa, gerçekten hatırı sayılıe bir küçülme olacaktır.
Bir ekleme daha yapayım, flex'in debug yaparken oluşturduğu swf her zaman release-build ile oluşturduğundan daha büyüktür. Çünkü debug versiyonu, flex'in ona bağlanabilmesi için gerekli olan kodları da içerir. Release-build'de ise bu bölüm yoktur.
Makale
Haber
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 58 (50 kayıtlı, 8 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)










RSL de unutmamak lazım.Ayrıca framework paketini de bu yöntemle application dışına çıkarabiliriz.