|
Чем хорош 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, часто говорят, что могут сделать то же самое меньшим колличеством кода. Тем не менее, существует ряд преимуществ, которые даёт хорошо продуманная и проверенная на многих проектах модель проектирования:- общее пространство имён для классов, методов и свойств - это позволяет организовать коммандную работу над проектом на основе соглашений об именовании и осуществлять поддержку уже созданных проектов другим разработчиком с минимальными накладными расходами;
- стандартная структура для типовых проектов - не нужно каждый раз заново реализовывать одно и то же с нуля;
- предсказуемый результат - проверенная структура взаимодействия быстрее реализуется и требует меньше времени для отладки.
|