ActionScript 3.0′daki yenilikler
ActionScript 3.0, ActionScript programcılara tanıdık gelen birçok sınıf ve özellik içerse de, ActionScript 3.0 mimari ve kavramsal açıdan önceki ActionScript sürümlerinden farklıdır. ActionScript 3.0′daki geliştirmeler arasında, çekirdek dilin yeni özellikleri ve düşük düzeyli nesneler üzerinde daha yüksek denetim sağlayan gelişmiş Flash Player API’si yer alır.
Not: Adobe® AIRTM uygulamaları, Flash Player API’lerini de kullanabilir.
Çekirdek dil özellikleri
Çekirdek dil, programlama dilinin deyimler, ifadeler, koşullar, döngüler ve türler gibi temel bina bloklarını tanımlar. ActionScript 3.0, geliştirme işlemini hızlandıran birçok yeni özellik içerir.
Çalışma zamanı istisnaları
ActionScript 3.0, önceki ActionScript sürümlerinden daha çok hata koşulu bildirir. Yaygın hata koşulları için çalışma zamanı istisnaları kullanılarak hata ayıklama deneyimini geliştirir ve hataları daha güçlü şekilde işleyen uygulamalar geliştirmenizi sağlar. Çalışma zamanı hataları, kaynak dosya ve satır numarası bilgilerini ek açıklama olarak veren yığın izleri sağlayarak hızlı şekilde hataların yerini belirlemenize yardımcı olur.
Çalışma zamanı türleri
ActionScript 2.0′da tür ek açıklamaları birincil olarak geliştiriciye yardım sağlama amaçlıydı; çalışma zamanında tüm değerler dinamik olarak türlenmiştir. ActionScript 3.0′da, tür açıklamaları çalışma zamanında korunur ve birçok maç için kullanılır. Flash Player ve Adobe AIR, çalışma zamanı, çalışma zamanı tür denetlemesi uygulayarak sistemin tür güvenliğini artırır. Tür bilgileri aynı zamanda yerel makine temsillerinde değişkenleri temsil etmek için de kullanılarak performansı artırır ve bellek kullanımını azaltır.
Mühürlenmiş sınıflar
ActionScript 3.0, mühürlenmiş sınıf kavramını getirmiştir. Mühürlenmiş bir sınıf, derleme zamanında tanımlanmış yalnızca sabit özellikler ve yöntemler kümesine sahiptir; bu sınıfa ek özellikler ve yöntemler eklenemez. Bu da daha katı derleme zamanı denetlemesi sağlayarak daha güçlü programlar oluşmasına neden olur. Buna ek olarak, nesne örneklerinin her biri için dahili bir karma tablo gerektirmeyerek bellek kullanımını da azaltır. dynamic anahtar sözcüğünün kullanılmasıyla dinamik sınıflar da mümkündür. ActionScript 3.0′daki tüm sınıflar varsayılan olarak mühürlenmiştir ancak dynamic anahtar sözcüğüyle bu sınıfların dinamik olduğu bildirilebilir.
Yöntem kapanışı
ActionScript 3.0, yöntem kapanışının otomatik olarak orijinal nesne örneğini hatırlamasına olanak sağlar. Bu özellik, olay işlemesi için kullanışlıdır. ActionScript 2.0′da, yöntem kapanışları hangi nesne örneğinden ayıklandıklarını hatırlamaz ve bu da yöntem kapanışı çağrıldığında beklenmeyen davranış oluşmasına neden olur. mx.utils.Delegate sınıfı sık kullanılan bir geçici çözümdür ancak artık buna ihtiyaç kalmamıştır.
XML için ECMAScript (E4X)
ActionScript 3.0, en son ECMA-357 olarak standartlaştırılmış olan XML için ECMAScript (E4X) uygular. E4X, XML’in işlenmesi için doğal ve akıcı bir dil yapıları kümesi sunar. Geleneksel XML ayrıştırma API’lerinin tersine, E4X ile XML, dilin yerel bir veri türüymüş gibi hareket eder. E4X, ihtiyaç duyulan kod miktarını büyük ölçüde azaltarak XML’i işleyen uygulamaların geliştirilmesini kolaylaştırır. E4X’in ActionScript 3.0 uygulaması hakkında daha fazla bilgi almak için, bkz. “XML ile çalışma” sayfa 222. ECMA’nın E4X belirtimini görüntülemek için www.ecma-international.org adresine gidin.
Normal ifadeler
ActionScript 3.0, hızlı şekilde dizeleri arayabilmeniz ve işleyebilmeniz amacıyla normal ifadeler için yerel destek içerir. ECMAScript (ECMA-262) sürüm 3 dil belirtiminde belirtildiği şekilde ActionScript 3.0, normal ifadeler için destek uygular.
Ad alanları
Ad alanları, bildirimlerin görünürlüğünü (public, private, protected) kontrol etmek için kullanılan geleneksel erişim belirticilerine benzer. Bunlar, seçtiğiniz adlara sahip olabilen özel erişim belirticileri olarak çalışır. Çakışmaları önlemek için, ad alanlarında bir Universal Resource Identifier (URI) bulunur ve E4X ile çalıştığınızda XML ad alanlarını temsil etmek için de ad alanları kullanılır.
Yeni ilkel türler
ActionScript 2.0, Number adında, çift kesinlikli ve kayan nokta sayısı olan tek bir sayısal türe sahiptir. ActionScript 3.0, int ve uint türlerini içerir. int türü, ActionScript’in CPU için hızlı tam sayı matematik yeteneklerinden faydalanmasına olanak sağlayan 32-bit işaretli bir tam sayıdır. int türü, döngü sayaçları ve tam sayıların kullanıldığı değişkenler için kullanışlıdır. uint türü, RGB renk değerleri, bayt sayıları ve daha fazlası için kullanışlı olan işaretsiz, 32-bit tam sayı türüdür.