Бесплатно скачать Adobe Flash Player
Flash Ripper RSS Readers

Как эффективно писать Flash CS3-приложения во Flex Builder 3

Кто-то скажет, что это уже было, кому-то это покажется извращением, но кому-то это может пригодиться:

Как компилировать FLA-файлы из-под Flex Builder?

Известно, что сегодня самым удобным редактором AS3-кода является Flex Builder, в том числе и для разработки Flash IDE-проектов, являющимися структурированными Flash-приложениями, основанными на FLA-файле.

Хорошо было бы писать код во Flex Builder, компилировать его во Flash IDE и видеть результат в браузере, и желательно все по одном клику.

Но как подружить Flex Builder 3 с Flash CS3 IDE и браузером? Понятное дело — с помощью всемогущего Apache Ant, который может выполнять любые операции из-под Eclipse / FlexBuilder. Но всемогущества Ant, однако, не хватит, чтобы заставить Flash IDE скомпилировать FLA-файл. Зато на этот случай у нас есть JSFL — язык, на котором мы можем многое приказать самой Flash IDE. Но я не могу запустить JSFL-скрипт прямо из Ant. Зато я могу запустить его из bat-файла, а тот могу запустить из Ant. Вот и готово решение:

Flex Builder > Ant > Batch > JSFL > Flash IDE > Браузер > снова Flex Builder — рабочий цикл.

Описание процесса и файлы скриптов для сборки проекта

Итак, есть fla-исходник со всякими важными потрохами, он открыт во Flash IDE и он будет компилироваться. Есть классы, которые вы редактируете во Flex Builder, создав в нем AS3-проект. Подружим их в корне каталога проекта "D:\projects\project\sources\".

Создадим Ant-файл build.xml с инструкциями по сборке:

<!-- build.xml: -->
<project name="Build Project in Flash IDE" default="init" basedir="." >
<property name="file.source.fla" location="D:\projects\project\sources\source.fla"/>
<property name="file.build.bat" location="D:\projects\project\sources\sources\build.bat"/>
<property name="file.flash.exe" location="C:\Program Files\Adobe\Adobe Flash CS3\Flash.exe"/>
<property name="file.browser.exe" location="D:\Tools\IE\6\iexplore.exe"/>
<property name="url" value="http://localhost/?v=0.0.1."/>
<target name="init" depends="increment, build, run"/>
<target name="increment">
<buildnumber file="build.number"/>
</target>
<target name="build">
<exec executable="${file.build.bat}" dir=".">
</exec>
</target>
<target name="run">
<exec executable="C:\WINDOWS\system32\tskill.exe">
<arg line="iexplore /a"/>
</exec>
<exec executable="${file.browser.exe}">
<arg line="${url}${build.number}"/>
</exec>
</target>
</project>

Как легко заметить, Ant выполняет файл build.bat, у которого внутри только одна команда:

REM build.bat:
build.jsfl

А файл build.jsfl в свою очередь заставляет Flash IDE опубликовать открытый в ней FLA-файл вот этим кодом (точно так же делает FlashDevelop):

// build.jsfl:
var doc = fl.getDocumentDOM();
if (doc == null)
{
fl.trace("No documents open");
}
else
{
doc.save();
doc.publish();
}

Вот и все. Назначив во Flex Builder шорткат для команды "Ant Build", вы получите компиляцию во Flash IDE и просмотр в браузере "одним кликом" — сохраняя при этом все преимущества написания кода во Flex Builder 3. А браузер будет переоткрываться каждый автоматически благодаря вызову в Ant-файле команды tskill, каждый раз убивающей процесс браузера по его имени (как научил нас Рома Шупер).

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

Чего я вам и желаю :-)

Учтите: я не разбираюсь в Apache Ant, но все равно им пользуюсь. Парадокс!

Писал Rost, 13 Июнь 2008 13:40

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

пользуйтесь FDT!

Nicolas Prof - 13 Июнь 2008 13:48

Вот только не надо рассказывать что для связки FlexBuilder + FLA (причем компиляция все равно в Flash IDE), FlexBuilder лучший редактор кода :) Flash Develop намного разумнее :)

shaman4d - 13 Июнь 2008 15:49

Nicolas Prof:

пользуйтесь FDT!

Не, как-то переплачивать неохота :-)

Рост - 13 Июнь 2008 17:31

shaman4d:

Вот только не надо рассказывать что для связки FlexBuilder + FLA (причем компиляция все равно в Flash IDE), FlexBuilder лучший редактор кода :) Flash Develop намного разумнее :)

Кстати, эта статья появилась в результате моего переползания с FlashDevelop (который я очень люблю и уважаю) на FlexBuilder.

Почему я переползаю с FlashDevelop на FlexBuilder?


- задолбался переучивать шорткаты при переходе с одного на другое
- у меня появился лицензионный FlexBuilder и я от этого реально тащусь.
- я давно люблю Eclipse как богатую платформу не только для Flash (например, Zend Studio для разработки PHP-приложений уже тоже перенесена на Eclipse).
- FlexBuilder удобен: ставишь и работаешь.
- отличная поддержка SVN

Flash Develop намного разумнее :)


А почему? Можешь аргументировать?

Рост - 13 Июнь 2008 17:39

Ага, вот именно. Переплачивать. ФДТ крут, но, на мой взгляд, того, что за него требуют, не стоит. Грызите меня, любители ФДТ :-)

На лицо добрый - 13 Июнь 2008 17:45

Насколько я понимаю, в этом способе FB не дает автоподсказок, навигации по ресурсам и т.п.?

Не совсем понимаю, чем хуже писать AS 3.0 проект в билдере, подключая ресурсы из .swc-файлов, скомпилированных с помощью kit'a для Flash IDE.

Slon_vsapogah - 13 Июнь 2008 19:09


- у меня появился лицензионный FlexBuilder и я от этого реально тащусь.

буржуй! :)


- FlexBuilder удобен: ставишь и работаешь.

:) Вот для меня это самое ценное, что может быть в программных инструментах/средах. Но...
Когда программист приходит на новую работу, он переустанавливает всё. Ибо зарплата капает, а процесс не напряжен. Потом ещё месяц-другой можно будет входить в курс дела и т.п. Для многих такие вещи ("ставишь и работаешь") не приятны, ибо разрушают их бизнес-модель.

Alexey - 13 Июнь 2008 20:17

ФДТ, как AS3-редактор, удобнее, полнее и мощнее Флекс Билдера.

Хотя, не могу не признать, в редакторе ФБ есть некоторые забавные фишки, которых ФДТ лишён. Одна из таких фишек - список имён событий для после набора .addEventListener(.. , очень жалко, что в ФДТ до этого не дошли.

Собственно, я не согласен только с утверждением, что ФБ - самый удобный. Самый удобный - ФДТ, просто дорогой.

ФБ и ФДТ не конкуренты. Я не думаю, что стал бы писать флексовые классы в ФДТ, и уж тем более классы для флэшового проекта в ФБ.

К счастью, и тот и другой мне проставила работа, нет необходимости выбирать : Р

DeliMIter - 13 Июнь 2008 21:32

Читал с нарастающим интересом до "Понятное дело — с помощью всемогущего Apache Ant". Это облом :о((
Когда был маленький очень любил писать батники. Щаз люблю кнопки, все что можно сделать мышкой, желательно ей и делать, поэтому видал я этого муравья в белых тапках :о(

Даешь муравью - муравейник!

Нажмём "Создать Ant-файл" - введем "build.xml"
Нажмем "Добавить проперть"
Нажмем "Добавить проперть"
Нажмем "Добавить проперть"
Нажмем "Добавить таргет"
Нажмем "Добавить таргет"

GB - 13 Июнь 2008 21:34

Когда программист приходит на новую работу, он переустанавливает всё. Ибо зарплата капает, а процесс не напряжен. Потом ещё месяц-другой можно будет входить в курс дела и т.п. Для многих такие вещи ("ставишь и работаешь") не приятны, ибо разрушают их бизнес-модель.

Программисты будущего, придя на новую работу, будут переустанавливать все, увольнят директора и заново прокладывать сеть. Оно и понятно - свои-то грабли не так больно бьют :-)

Друг человеков - 14 Июнь 2008 3:16

Когда был маленький очень любил писать батники. Щаз люблю кнопки.
Понимаю. Но тут может оказаться, что жизнь идет по синусоиде. То ест ты еще можешь полюбить батники и клавиатуру. Надеюсь, тогда ты вспомнишь об этом посте! :-)

Друг человеков - 14 Июнь 2008 3:17

Так, але, батники-фигатники, чем Flash Component Kit или как он там хуже этого способа? :)

Slon_vsapogah - 14 Июнь 2008 11:28

Apache Ant рулит =)

nouba - 14 Июнь 2008 12:24

Макс, причем здесь Kit =)?

vooparker - 17 Июнь 2008 15:06

Flex-овый автокомплит - полное дерьмо. Пишу резко, потому что вот прямо сейчас взбесило. До FD ему еще курить и курить взатяг.

Racer - 17 Июнь 2008 16:45

Мужики посоветуйте на русском инфу или ресурс какой нибудь??? Буду сверх благодарен если скините на мыло bigshot_kr@mail.ru...:)

- 26 Июнь 2008 17:22

Супер решение по поводу использования всемогущего Antа для Flash CS3, но в процессе тестирования возникла небольшая проблемка, возможно для опытных девелоперов это не проблема, для всех остальных:

Если процесс компиляции ролика во flash IDE будет занимать какое то время, то броузер откроется не отобразив заветную swf-ку, потому как файла еще нет.

На помощь приходит волшебный элемент waitfor. Небольшой update для кода Роста:

К свойствам:
<property name="file.source.swf" location="D:\projects\project\sources\source.swf"/>

В таргет run:
<waitfor maxwait="5" maxwaitunit="second" checkevery="500">
<available file="file.source.swf"/>
</waitfor>

Теперь броузер запустится, только тогда когда появится необходимая swfка. Ждать ant будет 5 секунд, а проверять есть ли она или нет, каждые пол секунды.

Подробнее тут: http://ant.apache.org/manual/CoreTasks/waitfor.html

demon - 6 Август 2008 12:54



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

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

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

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

Ноя 2008: Ноябрьская встреча RAFPUG 12 — для креативных, В продолжение темы флэш-блогов, весь Ноя

Окт 2008: Ура — вторая лицензия Alternativa3D уезжает в Киев!, Влещь на глагне III IIIIIII?, весь Окт

Сен 2008: Встречайте Open Source Flash Media Server — Mammoth, Срочно нужен толковый Flex-разработчик в Харькове (+Java), весь Сен

Авг 2008: Flex Gangsta Rap Video WTF Bro?, 27 сентября — встреча UAFPUG во Львове и плюшки от Adobe, весь Авг

Июл 2008: Тенденции среди работодателей: Adobe Flex, Adobe AIR, Silverlight, Спорт спасет красоту, которая спасет мир!, весь Июл

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





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