Песочница →
Flash, Flex, ActionScript — делимся вариантами настройки среды программирования в Ubuntu GNU\Linux
Начало начал
Приветствую всех! Попытаюсь рассказать вам о том, как я начал программировать для платформы Flash под GNU\Linux и какие инструменты для этого использовал. Этот пост написан для программистов Flash переходящих на GNU\Linux, поэтому некоторые вопросы настройки и использования были мной намеренно опущены (разобраться довольно легко, просто хочу чтобы вы не стеснялись покопаться в настройках. Поверьте, вы не пожалеете и найдете для себя много нового). Let's go!
Инструментарий
В первую очередь хочу отметить что я — бедный студент, поэтому все решения которые буду использовать абсолютно бесплатны. Вы же можете потратить энную сумму и программировать с бОльшим комфортом, но сейчас не об этом. Здесь неоднократно рассказывалось о таких IDE как IntelliJ IDEA, Adobe Flex Builder, Eclipse+FDT, однако все они запрашивают от 200$ до 700$. Есть и бесплатные решения — FlexBean плагин для Netbeans, AS3IDE плагин для Eclipse и другие. Конечно в бесплатных решениях отсутствуют многие нужные фичи (отладчик, InteliSense, etc.) но всё же лучше чем ничего.
Мой подход покажется кому-то сумасбродством и
Для компиляции проектов грешно не использовать бесплатный официальный FlexSDK от Adobe, поэтому переходим на страницу загрузки и качаем архив (~330MB). Я распаковал архив в папку flex в домашнем каталоге, вы же можете сделать это в любой другой каталог.
А теперь — настройка!
Благодаря Артуру Дику и его файлам настроек мы можем превратить SciTE в довольно мощный инструмент. Для этого заходим на его сайт смотрим какие фишки доступны с помощью его проекта, а это:
- Подсветка синтаксиса
- Автодополнение ключевых слов
- Автоматические отступы
- Тестирование и отладка с помощью FlexSDK и Ant
и скачиваем саму настройку. Кому интересно, можно скачать мой вариант настройки, переведённый на русский. Распаковываем архив, смотрим readme.txt и выполняем инструкции.
sudo apt-get install scite — уже делали
sudo apt-get install ant — для отладки
whereis ant — смотрим куда установилось, для дальнейшего добавления в файл настроек
whereis google-chrome — для того же (у вас может быть любой другой браузер)
sudo cp ~/Загрузки/scite-as3/actionscript.api /usr/share/scite/
Ну а скопировать из одного файла в другой надеюсь труда не составит.
Но как же сделать компиляцию, спросите вы? Один португальский блог подсказал как можно осуществить задуманное. Для этого в пользовательский файл настроек необходимо добавить:
mxmlc=/папка_куда_распаковали_flex/bin/mxmlc
command.compile.$(file.patterns.actionscript)=$(mxmlc) $(FileNameExt)
command.go.$(file.patterns.actionscript)=($browser) $(FileName).swf
Важный момент: для того чтобы компилировать не только *.as но и *.mxml сорцы нужно найти такую строчку:
file.patterns.actionscript=*.as3;*.as
filter.actionscript=Actionscript (as3 as)|$(file.patterns.actionscript)|
и сделать её такой
file.patterns.actionscript=*.as3;*.as;*.mxml
filter.actionscript=Actionscript (as3 as mxml)|$(file.patterns.actionscript)|
Ну вот теперь практически всё готово. Главное не забыть сделать файл mxmlc исполняемым и не забывать прилагать к проектам build.xml файлы, иначе муравей ругаться будет.
Тестирование
Целесообразно проверить качество сборки, поэтому создаём пустой *.mxml файл и пишем там:
<?xml version="1.0"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
private function clk():void {
myLabel.text += " World!";
}
]]>
</fx:Script>
<mx:Canvas borderStyle="solid">
<mx:VBox>
<mx:Label id="myLabel" text="Hello," />
<mx:Button label="OK" click="clk()" />
</mx:VBox>
</mx:Canvas>
</s:Application>
Сохраняем под именем test.mxml и нажимаем Ctrl+F7. Вуаля?
Вкусность
Для поддержки русского языка в кодировке UTF-8 и установки нормального шрифта нужно добавить в пользовательский файл настроек вот эту магию:
#Настройка шрифта
font.monospace=font:!DejaVu Sans,size:10
font.base=$(font.monospace)
font.small=$(font.monospace)
font.comment=$(font.monospace)
font.text=$(font.monospace)
font.text.comment=$(font.monospace)
font.embedded.base=$(font.monospace)
font.embedded.comment=$(font.monospace)
font.vbs=$(font.monospace)
code.page=65001
LC_CTYPE=en_US.UTF-8
Всем спасибо за внимание! Жду критики.
12.02.2012 18:55+0400