автоматизированная сборка flash приложений (as2, as3)....
TRANSCRIPT
Автоматизация сборки flash-приложений
Андрей Жданов
ЗАЧЕМ ЭТО НАДО? Автоматизация
Автоматизация – верный путь! •Сборка только после проверки!
•Минимальная стоимость внедрения!
•Возможность удаленной поддержки
•Множество функциональных версий
Возможности безграничны! • Интеграция модульного тестирования
• Генерация документации
• Форматирование кода (Flex Formatter)
СБОРКА Пора браться за дело!
Слово разработчикам!
Используете ли вы ActionScript 2 в своих проектах?
Компилятор MXMLC
• Не требуется финансовых затрат
• Всё работает «из коробки»
Build-файл для AS3 if [ "$1" == "debug" ];then
/[sdk_dir]/flex3.5/bin/mxmlc
-load-config+=bin/[ your_config_place ]
-incremental=false
-benchmark=true
-show-actionscript-warnings=true
-o [ your_swf_app ]
else
#дополнительные опции на ваше усмотрение
fi
Подводные камни MXMLC
• Отсутствие некоторых классов
• Кэширование может затруднить сборку
ActionScript 2 – как же быть? Рушим взаимосвязь визуальной среды и языка
+ Компилятор с открытым исходным кодом
+ Оптимизирован по скорости
+ Более строгий компилятор, по сравнению c MMC
- Нет поддержки библиотеки компонентов
Бесплатный xml2swf и swf2xml процессор с функциями импорта
MTASC + SWFMILL = love Объединим возможности компиляторов
SWFMILL-compiled application
MTASC-compiled application
Конфигурируем SWFMILL
<clip id="[clip_name]" import="[path_to_precompiled_swf]"/>
<library>
<clip id="VideoDisplay">
<frame>
<video id="VideoSurface" />
<place id="VideoSurface" name="video" />
</frame>
</clip>
</library>
<call object="[precompiled_library_main_class]" method="[main_method]"/>
Build-файл для AS2 if [ "$1" == "debug" ]; then
/usr/bin/mtasc [src_main_class]
-swf [path_to_precompiled_swf]
-header 800:600:20
-version 8
-cp [additional_classes]
/usr/local/bin/swfmill simple
"[swfmill_config]" "[path_to_swf]"
else
#дополнительные опции на Ваше усмотрение
fi
Проблемы сборки ActionScript 2 - проектов
• Боремся с «невидимым» _root: var targetString:String = "_target";
var target:MovieClip = eval(eval(targetString));
target._lockroot = true;
• Загадочная опция «mx» компилятора MTASC
В итоге? Автоматизация сборки ActionScript-
проектов позволяет:
• Улучшить контроль качества
• Внедрить в проект дополнительные инструменты
• Сократить время сборки и отладки
Спасибо за внимание!
[email protected] http://zdanchik.ru