Яндекс.Метрика

    Песочница

    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.) но всё же лучше чем ничего.
    Мой подход покажется кому-то сумасбродством и самозадалбыванием издевательством над собой но тут ничего не поделаешь, мне так нравится. Для написания исходного кода я использую т.н. редактор программиста SciTE, который устанавливается очень просто: sudo apt-get install scite. Прочитать о возможностях этого замечательного редактора можно как на официальном сайте или его русском аналоге, так и в википедии. Обратите особое внимание на перевод документации.
    Для компиляции проектов грешно не использовать бесплатный официальный 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

    Всем спасибо за внимание! Жду критики.