Какво е новото в ActionScript 3
Въпреки че ActionScript 3.0 съдържа много класове и функции, които са познати на програмистите на ActionScript 1.0 и 2.0, ActionScript 3.0 е архитектурно и концептуално различен от предишните версии на ActionScript. Подобренията в ActionScript 3.0 включват нови функции на основния език и подобрения на API, които осигуряват по-добро управление на обекти от по-ниско ниво.
Характеристики на езика на ядрото
Основният език дефинира основните градивни елементи на езика за програмиране, като оператори, изрази, условия, цикли и типове. ActionScript 3.0 съдържа много нови функции, които ускоряват процеса на разработка.
Изключения по време на изпълнение
В ActionScript 3.0 информацията за типа се съхранява във времето за изпълнение. Тази информация се използва за проверка на типа на изпълнение, като по този начин се повишава нивото на сигурност на системния тип. Информацията за типа се използва и за създаване на машинни представяния на променливи, което подобрява производителността и намалява използването на паметта. За сравнение, в ActionScript 2.0 анотациите за тип са предимно инструмент за разработчици и всички стойности се въвеждат динамично по време на изпълнение.
ActionScript 3.0 въведе концепцията за запечатани класове. Запечатаният клас има фиксиран набор от свойства и методи, дефинирани по време на компилиране; към него не могат да се добавят допълнителни свойства и методи. Като не променя класа по време на изпълнение, той осигурява по-силна проверка по време на компилиране и по-стабилни програми. Използването на памет също е оптимизирано, тъй като всеки екземпляр на обект не изисква отделна вътрешна хеш-таблица. Може биизползване на динамични класове с динамичната ключова дума. Всички класове в ActionScript 3.0 са "запечатани" по подразбиране, но могат да бъдат декларирани като динамични чрез ключовата дума dynamic.
ActionScript 3.0 ви позволява автоматично да запомните оригиналния екземпляр на обект, когато затворите метод. Тази функция е особено полезна при обработка на събития. В ActionScript 2.0 затварянията на методи не помнеха от коя екземпляр на обект са били извлечени, което води до непредсказуемо поведение при извикване на затваряне на метод.
ИЗУЧАВАНЕ НА ACTIONSCRIPT 3.0
Въведение в ActionScript 3.0
ECMAScript за XML (E4X)
ActionScript 3.0 въвежда скриптовия език ECMAScript за XML (E4X), наскоро стандартизиран като ECMA-357. E4X предлага органичен, много удобен за потребителя набор от езикови конструкции за работа с XML. За разлика от стандартните API за парсиране на XML, E4X осигурява поддръжка за XML като вграден тип данни. E4X опростява разработката на приложения, които работят с XML, като значително намалява дължината на програмните кодове.
ActionScript 3.0 включва вградена поддръжка за регулярни изрази, което ви позволява бързо да намирате и обработвате съвпадащи низове. Поддръжката за регулярни изрази в ActionScript 3.0 е внедрена, както е дефинирано в езиковата спецификация на ECMAScript (ECMA-262) версия 3.
Пространствата от имена са подобни на традиционните спецификатори за достъп, използвани за контролиране на видимостта на декларации (public, private, protected). Те действат като персонализирани спецификатори за достъп, които можете да наименувате по ваше желание. За да се избегнат сблъсъци, пространствата от имена се определят от URI, които също се използват за представяне на пространства от имена на XMLпри работа в E4X.
Нови видове примитиви
ActionScript 3.0 съдържа три числови типа: Number, int и uint. Типът Number представлява число с плаваща запетая с двойна точност. Типът int указва 32-битови целочислени стойности със знак, което позволява на кода на ActionScript да се възползва от бързата обработка на целочислени математически операции на процесора. Типът int е удобен за създаване на броячи на цикли и цели променливи. Типът uint указва 32-битови целочислени стойности без знак и е полезен за дефиниране на RGB цветови стойности, брой байтове и т. н. За разлика от това, само един числов тип е наличен в ActionScript 2.0, Number.
Функции на интерфейса за програмиране на приложения (API).
Интерфейсите за програмиране на приложения (API) в ActionScript 3.0 съдържат много класове, които ви позволяват да манипулирате обекти на по-ниско ниво. Архитектурата на езика е подобрена: стана по-удобна и разбираема, отколкото в предишните версии. Въпреки че има твърде много класове, за да се покрият в подробности, струва си да посочите някои съществени разлики.
DOM3 модел на събитието
Моделът на събитието Document Object Model Level 3 (DOM3) предоставя стандартен начин за създаване и обработка на съобщения за събития. Този модел на събития е предназначен да позволи на обектите в приложение да взаимодействат и комуникират, да поддържат състоянието си и да реагират на промяна. Моделът на събитията ActionScript 3.0 се основава на спецификацията на събитията на World Wide Web Consortium DOM ниво 3. Този модел предоставя по-ясен и по-ефективен механизъм от системите за събития, налични в предишните версии на ActionScript.
Събитията и събитията за обработка на грешки се поставят в пакета flash.events. В компонентите на Flash Professional и средата Flexизползва се подобен модел на събития, така че системата за събития е унифицирана в цялата Flash платформа.
ИЗУЧАВАНЕ НА ACTIONSCRIPT 3.0
Въведение в ActionScript 3.0
API за показване на списък
API за достъп до списъка за показване (дървото, съдържащо всички визуални елементи на приложението) се състои от класове за работа с визуални примитиви.
Класът Sprite е лек градивен блок, използван като базов клас за визуални елементи като компоненти на потребителския интерфейс. Класът Shape възпроизвежда векторни форми без компресия. Екземпляри на тези класове могат лесно да бъдат създадени с новия оператор и след това динамично преназначени по всяко време на други родителски обекти.
Контролът на дълбочината е автоматичен. Осигурени са методи за определяне и манипулиране на реда на подреждане на обекти.
Работа с динамични данни и съдържание
ActionScript 3.0 включва механизми за зареждане на ресурси и данни в приложение и последващата им обработка. Тези механизми са интуитивни и съвместими с различни интерфейси за програмиране на приложения. Класът Loader предоставя един механизъм за зареждане на SWF файлове и графични активи, а също така предоставя начин за достъп до подробна информация за зареденото съдържание. Класът URLLoader предоставя отделен механизъм за зареждане на текст и двоични данни в приложения, управлявани от данни. Класът Socket предоставя възможности за четене и запис на двоични данни в сървърни сокети във всякакъв формат.
Достъп до данни на по-ниско ниво
Различни интерфейси за програмиране на приложения осигуряват достъп до данни от ниско ниво. За клас качени данниURLStream предоставя достъп до некомпресирани двоични данни директно по време на процеса на изтегляне. Класът ByteArray ви позволява да оптимизирате четенето, писането и работата с двоични данни. Sound API осигурява прецизен контрол върху звука чрез класовете SoundChannel и SoundMixer. Интерфейсите за програмиране на приложения взаимодействат със системите за сигурност, като предоставят информация за подходящите привилегии на SWF файла или изтегленото съдържание, позволявайки обработка на грешки в сигурността.