Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #73, ДЕКАБРЬ 2006 г.

и на горячее...

 

Спецвыпуск: Хакер, номер #073, стр. 073-040-2


ActionScript 3 выполняется на новой виртуальной машине ActionScript Virtual Machine 2, встроенной в Flash Player 9, производительность которой в среднем в 10 раз выше, чем производительность AVM1 + AS2.

[обработка ошибок «на лету» (runtime exceptions).]

Существует мнение, что при работе с ActionScript 2 на поиск и исправление неявных ошибок уходит до 80% всего затраченного на работу времени. Дело в том, что компиляторы ActionScript 2 проверяют синтаксис кода только при компиляции swf-файла. Все неявные ошибки (например, отсутствие инициализации объекта класса), возникающие во время работы, если не приводят к зависанию, проходят тихо и незаметно.

Теперь в ActionScript 3 добавлены механизмы для обработки исключений, что позволит обрабатывать возможные ошибки «на лету». Предоставляемая отладочная информация содержит информацию о стеке вызовов, исходном коде и номере строки с ошибкой.

[строгие типы данных (runtime types).]

Строгая (обязательная) типизация данных – одна из основных причин, по которой разработчикам удалось значительно ускорить выполнение ActionScript 3. Пожертвовав неопределенностью типа переменной, разработчики выиграли время и память. А проверка соответствия типа «на лету» добавила еще один уровень надежности работы кода.

[упрощенная схема создания обработчиков событий (method closures).]

В ActionScript 3 реализована упрощенная модель объявления обработчика событий. Так в ActionScript 2 обработчик начисто «забывал» свой объект. Для решения этой проблемы приходилось использовать разнообразные громоздкие конструкции. Теперь строки

myButton.addEventListener("click", someMethod);

достаточно для того, чтобы объявить реакцию объекта на событие. Функция-обработчик автоматически запомнит ссылку на экземпляр своего объекта.

Поддержка Е4X стандарта для работы с XML (ECMAScript for XML (E4X)).

ActionScript 3 содержит полную реализацию стандарта E4X. Этот стандарт был разработан специально для того, чтобы упростить работу с XML-структурами. XML в этом стандарте представлен, как native data:

//Создаем XML-структуру

var myXML:XML =

<order>

<item id='1'>

<menuName>burger</menuName>

<price>3.95</price>

</item>

<item id='2'>

<menuName>fries</menuName>

<price>1.45</price>

</item>

</order>

// Обращаемся к элементам

trace(myXML.item[0].menuName); // Output: burger

trace(myXML.item.(@id==2).menuName); // Output: fries

trace(myXML.item.(menuName=="burger").price); // Output: 3.95

Эта нотация значительно сокращает объем управляющего кода, а встроенная реализация стандарта существенно ускоряет работу парсера XML.

[поддержка регулярных выражений (regular expressions).]

Поддержка регулярных выражений (по спецификации ECMA-262) на уровне ядра позволит быстро осуществлять сложный поиск в больших массивах текста.

[пространства имен (namespaces).]

В ActionScript 3 реализован инновационный механизм определения и управления пространством имен. Теперь можно создавать произвольные пространства имен, например традиционные спецификаторы доступа, используемые для управления видимостью объявлений public, private, protected, – что дает возможность управлять полями видимости и избегать коллизий при работе с E4X.

Назад на стр. 073-040-1  Содержание  Вперед на стр. 073-040-3