Озадачил меня вконтакт.ру разработкой приложения на флексе. Вот и заинтересовался, получиться написать что-то на флексе под линь, да и возможно ли вообще :)
Как оказалось, под линукс средств разработки очень мало. А то что есть - кривое, не удобное. И судя по всему, даже платных нет. Разве что Idea - про неё я честно не интересовался.
Итак, по порядку...
"Сердце" для разработки флекса - это инструментарий разработчика - Flex SDK. Отдельно он не распостраняется, но есть вместе с flex builder'ом. Причём бесплатно. На момент поста есть версия 3 alpha 4. Он распостраняется как плагин к eclipse. Есть установщик с громким названием "Install everywere". Который таки устанавливает плагин, но с ошибкой, не известно какой. В итоге джава машина отказывается запускаться, а перебрав десяток опций, эклипс запускается, но ничего не знает ни о флексе, ни о mxml, ни о as... Судя по форумам - если у кого то и получилось завести, таких единицы. Вывод - самое полезное в Flex Builder 3 for Linux alpha 4 - Flex SDK. Надо отметить что там 2 версии СДК - 2.0.1 и 3.0.
Пользовался только третьей :)
Вообще говоря можно пользоваться консольным компилятором... Кому хочется :) Но имхо для чего то большего чем "хелоу ворлд" надо хоть какую - нибудь IDE. По этому поводу гугл также ничего не говорит радостного.
Итак, в чём можно писать для Adobe Flex.
- Используя плагин к эклипсу. Но.. уже пытался установить - отказывается работать
- Есть плагин к моему любимому NetBeans. Назывется flexbeans, его страница на sf. Я имел честь пользоваться версией 1.1.1. Практически ничего не умеет.
Разве что создавать проект и компилировать его(но по большому счёту этого мне хватило). Никаких автодополнений/подсказок нет. Синтаксис mxml вообще не подсвечивается. Видимо, была попытка сделать подсветку as(ActionScript) файлов - но очень не удачно, пример на картинке.
Ещё не корректно работает Navigator - перечисляет и дублирует часть переменных, использованных в скрипте. Но выбора вроде как нет.. Автор обещает что скоро будет нормальная подсветка и автодополнение - Есть такая IDE - spket.
Если не ошибаюсь изначально она разрабатывалась для JS. Однако, она поддерживает mxml - цветовая разметка и автодополнение - всего лишь нужно указать путь к flex sdk. Со стандартной sun'овской JVM среда не стала запускаться, а вот с openjdk пошло - /opt/spket/spket -vm /usr/lib/jvm/java-1.6.0-openjdk/jre/bin/
У меня получилось вот что - использовал skpet для дизайна (mxml), а основная работа(написание actionScript) происходила в netBeans, там же и компиляция. Время компиляции практически не зависила от количества кода, и была примерно 10-25сек. Очень не удобно создавать UI - приходиться по сто раз компилировать чтоб посмотреть на сколько пикселей надо сдвинуть текст :(. Вообще, надо сказать, что о визуальном создании UI похоже пока не может быть речи.
Ещё важная деталь: флеш-дебагер. Понять как же ужасно иметь плеер без дебаг-режима, можно лишь когда нужно отлаживать приложение, и вместо ожидаемого окошечка - ничего не происходит. И не знаешь в какую сторону копать.. Поэтому обязательно нужно установить флеш дебаг плеер. Он лежит в sdks/3.0.0/runtimes/player/lnx/flashplayer в папке с установленным "плагином" к эклипсу. Установка плеера сводиться к распаковке flashplayer.tar.gz папку /usr/lib/mozilla/plugins. Этот плеер пишет ошибки, если такие имеются. Да, и ещё он очень медленный :)
В целом это всё таки не миф - есть возможность разрабатывать флекс приложения под линуксом :) Но это очень неудобно, по сравнению с вендовыми средствами разработки... Зато нативными средствами и совершенно бесплатно.