Flash Ripper RSS Readers

Название языка можно опустить: AsProject -- новый инструмент для создания, тестирования и поддержки Actionscript-приложений. Новее не найдешь

AsProject -- это кросс-платформенный инструмент разработки с открытым кодом, предназначенный для автоматизации создания проектов, классов, тестов и их блоков, а также библиотек swfmill.

Он скачивает, устанавливает и конфигурирует debug-версию флэш-проигрывателя и набор opensource-инструментов для разработки Actionscript-приложений. Также он включает набор средств для сборки проектов. Его автор, Люк Байес, заодно является создателем AsUnit.

Устанавливается AsProject так:

gem install asproject

Пользователи Маков (и любых Unix-образных ОС, как вовремя сказал Майкл) добавляют к началу этой строки sudo. Идем дальше.

Первый проект с помощью AsProject:

asproject SomeProject

Результат -- структура на диске D:

D:\SomeProject\art
D:\SomeProject\doc
D:\SomeProject\project
D:\SomeProject\project\assets
D:\SomeProject\project\bin
D:\SomeProject\project\lib
D:\SomeProject\project\rakefile.rb
D:\SomeProject\project\README.txt
D:\SomeProject\project\src
D:\SomeProject\project\test
D:\SomeProject\project\config
D:\SomeProject\project\.as2_classpath
D:\SomeProject\project\.project
D:\SomeProject\project\assets\img
D:\SomeProject\project\assets\img\skins
D:\SomeProject\project\assets\img\skins\default
D:\SomeProject\project\assets\img\skins\SWFMillTemplate.erb
D:\SomeProject\project\assets\img\skins\default\PatternPark.jpg
D:\SomeProject\project\lib\asunit
D:\SomeProject\project\lib\asunit\asunit
D:\SomeProject\project\lib\asunit\AsUnitTestRunner.as
D:\SomeProject\project\lib\asunit\asunit\errors
D:\SomeProject\project\lib\asunit\asunit\framework
D:\SomeProject\project\lib\asunit\asunit\runner
D:\SomeProject\project\lib\asunit\asunit\textui
D:\SomeProject\project\lib\asunit\asunit\util
D:\SomeProject\project\lib\asunit\asunit\errors\AssertionFailedError.as
D:\SomeProject\project\lib\asunit\asunit\errors\AssertionPassedError.as
D:\SomeProject\project\lib\asunit\asunit\errors\ClassNotFoundError.as
D:\SomeProject\project\lib\asunit\asunit\errors\IllegalOperationError.as
D:\SomeProject\project\lib\asunit\asunit\errors\InstanceNotFoundError.as
D:\SomeProject\project\lib\asunit\asunit\errors\InvocationTargetError.as
D:\SomeProject\project\lib\asunit\asunit\errors\UnimplementedFeatureError.as
D:\SomeProject\project\lib\asunit\asunit\framework\Assert.as
D:\SomeProject\project\lib\asunit\asunit\framework\AssertMock.as
D:\SomeProject\project\lib\asunit\asunit\framework\AssertTest.as
D:\SomeProject\project\lib\asunit\asunit\framework\ITestListener.as
D:\SomeProject\project\lib\asunit\asunit\framework\Test.as
D:\SomeProject\project\lib\asunit\asunit\framework\TestCase.as
D:\SomeProject\project\lib\asunit\asunit\framework\TestCaseMock.as
D:\SomeProject\project\lib\asunit\asunit\framework\TestCaseTest.as
D:\SomeProject\project\lib\asunit\asunit\framework\TestCaseXml.as
D:\SomeProject\project\lib\asunit\asunit\framework\TestFailure.as
D:\SomeProject\project\lib\asunit\asunit\framework\TestResult.as
D:\SomeProject\project\lib\asunit\asunit\framework\TestSuite.as
D:\SomeProject\project\lib\asunit\asunit\runner\BaseTestRunner.as
D:\SomeProject\project\lib\asunit\asunit\runner\IResultPrinter.as
D:\SomeProject\project\lib\asunit\asunit\textui\ResultPrinter.as
D:\SomeProject\project\lib\asunit\asunit\textui\SuccessBar.as
D:\SomeProject\project\lib\asunit\asunit\textui\TestRunner.as
D:\SomeProject\project\lib\asunit\asunit\util\ArrayIterator.as
D:\SomeProject\project\lib\asunit\asunit\util\ArrayIteratorTest.as
D:\SomeProject\project\lib\asunit\asunit\util\Iterator.as
D:\SomeProject\project\src\SomeProject.as
D:\SomeProject\project\test\SomeProjectRunner.as
D:\SomeProject\project\config\asclass_config.rb

AsProject работает на Ruby.

Продолжаем: компиляция проекта

cd SomeProject/project
rake
что такое rake?

Происходит следующее:

- Поиск и/или скачивание подходящих компиляторов (для ActionScript 2 это обычно mtasc и swfmill) (скачивается только то, что не было скачано ранее)

- Сборка проекта соответствующими компиляторами (swfmill, mtasc и/или hamtasc)

- Скачивание, распаковка и установка подходящего Flash-проигрывателя (debug-версия).

- Настройка файла mm.cfg, чтобы можно было просматировать trace-выражения в терминале.

- Настройка безопасности Flash Player, чтобы можно было использовать одновременно как локальные swf-файлы, так и загруженные из сети.

- Поиск и загрузка лог-файла файла flashout.txt, содержащего результаты вызовов trace.

- Запуск созданного SWF-файла в ожидаемой версии Debug Flash Player (7, 8 или 9).

- Отображение вызовов trace в терминале.


Создание класса, теста для класса и тестирование:

Команды и результаты в окне терминала:

D:\SomeProject\project>asclass -s utils.MathUtil

>> TestSuites rebuilt from:
D:/SomeProject/project/test
---------------------------
>> Created file at: ./src/utils/MathUtil.as
>> Created file at: ./test/utils/MathUtilTest.as
>> Created file at: utils/AllTests.as
>> Created file at: AllTests.as

D:\SomeProject\project>rake test
(in D:/SomeProject/project)
mtasc.exe -cp src -cp test -cp lib/asunit -frame 2 -main -version 8 -swf bin/Som
eProjectSkin.swf -out bin/SomeProjectRunner.swf SomeProjectRunner
SAFlashPlayer.exe ./bin/SomeProjectRunner.swf

Результат в открывшемся окне Flash Player'а:

AsUnit 2.5 by Luke Bayes and Ali Mills
..F

Time: 0.007
There was 1 failure:
0) utils.MathUtilTest.testFailure()
assertTrue.message: Failing test

FAILURES!!!
Tests run: 2, Failures: 1, Errors: 0

Получить помощь по инструменту asclass:

asclass -h


AsProject состоит из 3 отдельных компонентов:

1. asproject: Движок шаблонов проектов, позволяющий как использовать и редактировать шаблоны существующих проектов, так и делать свои собственные. Помогает быстро создавать новые, конфигурируемые и готовые к использованию приложения ActionScript 2, ActionScript 3 и построенные на Flex framework.

2. asclass: Инструмент, использующий движок шаблонов asproject, но для создания новых ActionScript-классов, интерфейсов, тестов и их наборов. Этот тул позволяет манипулировать базовыми шаблонами для произвольного количества именованных типов, включая ActionScript 2, 3 и MXML. Он позволяет сохранять отредактированные шаблоны для всех проектов или для выбранных вами конкретных.

3. utilities: Набор утилит для упрощения компиляции, тестирования и разворачивания ActionScript-проекта.

Ссылки

Читайте: руководство по первым шагам с AsProject.

Демо AsProject можно увидеть здесь. А вот -- домашняя страница AsProject на Google Code.

Так поженились Ruby и ActionScript'ы (полигамия, разрешена в программировании). Ждем детей. Должны получиться красивые.

Писал Rost, 5 Апрель 2007 15:21

Найдены баги:

Генераторы, как и в Rails, легко делать свои. Прямо по образу и подобию. И вся мощь и легкость освоения Rake на откуп.

Но главное -- Flash сообщество, возможно, начнет-таки массово двигаться к сохраняющей башку свежей разработке через тесты и software as specification. Рутины на возьню с тестами теперь считай нет, только сам тест напиши и реализацию...

Evolving jerk - 5 Апрель 2007 20:20

А еще немного портирования RCov и Spec::Autotest, и эта ботва сможет пускать тесты автоматом после любого сохранения. В мире Ruby так многие любят делать, хотя по-моему фича на любителя.

PS: sudo добавляют пользователи любых Unix образных ОС. Тул абсолютно кросс-платформенный, даже под FreeBSD можно без особых проблем прикрутить Linux плеер.

Evolving jerk - 5 Апрель 2007 20:24

Майк, я ждал твоего комментария =)

Рост - 5 Апрель 2007 20:27

Все ждали комментария Майка =)

Michael Yesutin - 6 Апрель 2007 7:15

А теперь не ждите, пишите свои =)

Рост - 6 Апрель 2007 12:21

А вообще...
Это навязывание своих фантазий про идеальную среду разработки...

Идеальной среды еще нет, потому что...да потому что адобы мало думают про нас и наши фактические потребности

Василий - 7 Апрель 2007 1:58

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

Насчет Адобов... они действуют, как собачья упряжка в условиях бури в тундре: хозяин (маркетинг и руководство) погоняет вперед, но собаки (девелоперы) бегут с той скоростью, с которой могут.

Берегите Адоб. Если мы его потеряем, то светлое будущее с Майкрософтом обеспечено. Ругайте Адоб. Но без публичных истерик: напишите лучше багрепорт им, но не дерекламируйте технологию публично в глазах колеблющихся.

Больше тулов под любимую платформу, хороших и разных!

Рост - 7 Апрель 2007 13:03

Не подумайте, что я защищаю Адоб. Я -- на стороне флэш-проигрывателя =)

Рост - 7 Апрель 2007 13:08

Rost, we're searchin' for you, man! =)
Where're you now?

Utkin - 9 Апрель 2007 15:10

Дим, сейчас сижу дома с сынишкой, скоро буду в офисе.

Сории за потерю, свяжусь сегодня после 7.

Рост - 9 Апрель 2007 17:25

Рост, поменяй пожалуйста в блогролле ссылку на мой новый блог www.yarovoy.com/gc/.

Юрий Яровой - 10 Апрель 2007 12:34

Ага, Юр, обновил.

Рост - 12 Апрель 2007 13:08



Это запись из категории 'Tools'. 10 еще cвежих:

Архивы по категориям:

3D-18, Adobe AIR-30, Animation-1, Apache Ant-1, Architecture-1, ARP-1, Art-25, Articles-26, AS3-52, Books-7, Business-3, Cairngorm-2, CI-1, Classes-10, Coding-30, Community-113, Components-19, Contests-28, Cool-Job-5, Debug-18, Design-26, Development-84, EMO-1, Events-13, Extensions-2, FAQ-8, FDS-1, Flash and html-5, Flash Player-35, Flash Updates-8, Flash-scene-1, flash10-4, FlashLite-2, Flex-30, Flex 2-80, Flickr-1, FMS-1, FPUG-46, frameworks-1, Games-11, Good Job!-35, HaXe-14, Health-2, Humor-10, Ideas-13, JavaScript-1, Job-26, JSFL-8, Links-2, Linux-1, Maps-1, Math-8, Money-11, MXML-1, Open Source-15, Optimization-2, Patterns-2, Personalities-27, Politics-1, Preloading-3, Productivity-9, PureMVC-10, Pv3d-1, Rafpug-4, Red5-3, Remoting-11, Resources-21, Ruby-6, SAAS-1, Security-11, SEO-8, Silverlight-5, Sound-3, Strategy-120, Tamarin-1, Tools-113, Training-2, Trash-8, URAFPUG-13, Urgent-1, Usability-6, Video-6, VoIP-5, Wallop-1, Wishlist-2, Архив всех записей (большой)

За последние месяцы:

Июл 2008: Международная встреча разработчиков URAFPUG завершена, URAFPUG - трансляция студии Flex-фреймворка Mate, весь Июл

Июн 2008: Попытка предварительных выводов о встрече аниматоров, Онлайн трансляция встречи аниматоров в Донецке, весь Июн

Май 2008: Если 3D, то по-взрослому: официальный запрос в Adobe по поводу контроля над мип-маппингом. Нужна ваша поддержка!, В этом году «Russian Flash Awards» пройдет в «космическом стиле», весь Май

Апр 2008: Программирование под флэш платформу. Cтатья (местами спорная), Advanced Flash Components бесплатно раздает все свои AS2-компоненты, весь Апр

Мар 2008: Зарплаты программистов в 2007 году, FlashPhone как технология года? Технология года? В Рунете?, весь Мар

Фев 2008: ЙА ФПУГ — регистрация на первую встречу UAFPUG продолжается, Закулисы Flex и секрет успеха опенсорс-проекта, весь Фев





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)