Life is a game. Let's play >
ruseng
Избавляя разум от всей ненужной работы, хорошая нотация позволяет сосредоточиться на более сложных проблемах и в конечном счёте повышает интеллект человечества. (Альфред Нойт Уайтхед)

Чем хорош ActionScript 3.0

В своей работе мы используем только программную анимацию, выполненную на языке ActionScript 3.0. Почему?

ActionScript — объектно-ориентированный язык программирования, один из диалектов EcmaScript, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений. ActionScript исполняется виртуальной машиной (ActionScript Virtual Machine), которая является составной частью Flash Player. ActionScript компилируется в байткод, который включается в SWF-файл.

SWF-файлы исполняются Flash Player-ом. Flash Player существует в виде плагина к веб-браузеру, а также как самостоятельное исполняемое приложение. Во втором случае возможно создание исполняемых exe-файлов, когда swf-файл включается во Flash Player.

С помощью ActionScript можно создавать интерактивные мультимедиа-приложения, игры, веб-сайты и многое другое.
ActionScript 1.0 является прототипным ООП (prototype-based). То есть он вполне реализует все три принципа объектно-ориентированного программирования.

ActionScript 2.0 является не более чем надстройкой над ActionScript 1.0, то есть на этапе компиляции компилятор осуществляет некую проверку и превращает класcы, методы ActionScript 2.0 в прежние прототипы, "функции-классы" с их свойствами-методами и пр. ActionScript 1.0.

В 2006 году вышел ActionScript 3.0 в среде программирования Adobe Flex, а позже в Adobe Flash 9.

ActionScript 3.0 представляет, по сравнению с ActionScript 2.0 качественное изменение, он использует новую виртуальную машину AVM 2.0 и даёт взамен прежнего формального синтаксиса классов настоящее классовое (class-based) Объектно-ориентированное программирование. ActionScript 3.0 обеспечивает возрастание производительности, по сравнению с ActionScript 1.0/2.0, до 700 раз (это лишь обработка инструкций, не затрагивая графику). ActionScript 3.0 позволяет работать с бинарными данными, с BitMap (что обеспечивает значительный прирост производительности: до 10000 раз). ActionScript 3.0 по скорости приблизился к таким языкам программирования, как Java и C++.

Источник описания языка: Wikipedia

Не изобретать велосипед

Современные флеш-сайты по процессу разработки во многом напоминают веб-приложения, выполняющиеся на стороне сервера и классические десктопные приложения, выполненные в программах, подобный C ++ Builder. Это сходство переносится и на процесс разработки:

1. Приложение разделяется на визуальную часть и код. Визуальной частью занимается дизайнер с навыками флеш-анимации, программной частью занимается профессиональный программист, имеющий опыт работы в том числе и с Adobe Flash.

Это означает, что разработчик должен уметь в принципе писать программные продукты, веб-приложения и т.д., а уже потом иметь дополнительную специализацию как флеш-программист.

2. Часть программного кода в общих чертах имеет смысл реализовать как абстрактные классы и затем использовать в каждом проекте. Набор абстрактных классов объединяется в некоторую структуру абстрактного флеш-приложения, которая не меняется коренным образом от сайта к сайту, а лишь обретает новые формы и видоизменяется.

3. Для разработки флеш-приложений применимы все подходы проектирования программных продуктов, в том числе и итеративный подход. Итеративный подход подразумевает, что на каждой стадии мы будем иметь некоторое работающее приложение в разной степени готовности, а предусмотренный функционал наращивается постепенно.

Это даёт возможность подстраиваться под изменения в техническом задании с наименьшим ущербом для сроков и стоимости проекта.

Asket — Action Script 3.0 Framework

Результатом описанного выше подхода к разработке флеш-сайтов стал собственный каркас для проектирования флеш-приложений — Asket.

За основу были взяты концепции разделения содержания и представления, разработка приложений на основе форм, шаблон проектирования «Модель—Представление—Контроллер». Отличительными особенностями флеш-сайта как MVC-приложения являются:
  • редуцированный компонент «Модель» (в нашем случае Qubix CMS предоставляет данные в форме, которая, как правило, не требует никакой дальнейшей обработки);

  • повышенное внимание к компоненту «Представление». Каждому разделу соответствует своя форма, состоящая из муви-клипа и соответсвующего класса, а также большое колличество вспомогательных классов, занимающихся именно визуальным отображением

  • контроллер для группы разделов представляет собой метод (методы) родительской формы. Для основных разделов родительской формой является класс App, для подразделов родительской формой является класс формы соответсвующего раздела

Преимущества

Начинающие программисты, заглядывая в различные каркасы проектирования, в том числе и в Asket, часто говорят, что могут сделать то же самое меньшим колличеством кода. Тем не менее, существует ряд преимуществ, которые даёт хорошо продуманная и проверенная на многих проектах модель проектирования:
  • общее пространство имён для классов, методов и свойств - это позволяет организовать коммандную работу над проектом на основе соглашений об именовании и осуществлять поддержку уже созданных проектов другим разработчиком с минимальными накладными расходами;

  • стандартная структура для типовых проектов - не нужно каждый раз заново реализовывать одно и то же с нуля;

  • предсказуемый результат - проверенная структура взаимодействия быстрее реализуется и требует меньше времени для отладки.