вторник, 23 февраля 2010 г.

IntelliJ IDEA 9 лучшая IDE для ActionScript разработки под Linux

Не так давно у меня возникла потребность в IDE для ActionScript в Linux, т.к. на моей работе имеется ориентировка на использование Ubuntu и свободного ПО в рабочем процессе, что я всецело одобряю. :) Но, к сожалению, если под Windows выбор как коммерческих, так и бесплатных инструментов для ActionScript достаточно большой, то под Linux выбор не очень..

В предыдущем посте я уже перечислил известные мне доступные бесплатные IDE для ActionScript 3.0 в Linux и рассказал об основных возможностях AS3IDE.

К сожалению, возможностей текущей версии AS3IDE (на январь 2010) для нормальной работы, на мой взгляд, недостаточно. А множество багов и недоработок отбивают всяческое желание к ее повседневному использованию. Статус Альфа-версии сказывается..

После нескольких дней общения с AS3IDE, я решил посмотреть коммерческие решения. В итоге остановился на IntelliJ IDEA 9..



Поиски коммерческих IDE для ActionScript привели меня к трем продуктам:

  • FDT на базе Eclipse (129$,529$,780$)- на данный момент не имеет поддержки Linux, но разработчики обещают в скором времени. Отладчик только в Enterprise версии (780$);
  • Adobe Flex Builder 3 for Linux на базе Eclipse (250$-700$)- для Linux есть только Альфа версия без официальной коммерческой поддержки;
  • IntelliJ IDEA 9 - лучшая IDE для Java с поддержкой ActionScript из коробки (250$-600$).
Полной поддержки Linux ни в Flex Builder 3, ни в FDT не имеется, хотя работы в этом направлении ведутся. Цены на них, на мой субъективный взгляд не особо привлекательные. FDT поддерживает отладчик только в самой дорогой версии Enterprise, для меня этого достаточно чтобы поставить на нем крест, т.к. какой никакой отладчик есть даже в AS3IDE. В общем, желания их пробовать под Linux у меня не возникло. :)
А вот IntelliJ IDEA от Jetbrains показалась привлекательной по цене и функциональным возможностям, плюс это продукт отечественного производителя :). Для индивидуального разработчика получить за 250$ отличную кросс-платформенную Java EE IDE с прекрасной поддержкой ActionScript в довесок, намного интереснее чем один лишь плагин для ActionScript за 250$ (в случае Flex Builder 3) или 780$ (в случае FDT). И хотя инструменты JavaEE разработки для Eclipse тоже достаточно продвинутые, IntelliJ IDEA славится своей интеллектуальностью. Вообще, на мой взгляд, Flex Builder 3 и FDT должны стоить в 2 раза дешевле IntelliJ IDEA, учитывая ее возможности из коробки. :)

Поставив триальную версию и познакомившись с IntelliJ IDEA поближе, я понял, что это как раз то, что нужно:
прекрасно работает в ubuntu;
поддерживает ActionScript 3.0 на высоком уровне;
имеется интеграция с Git;
просто восхитительные возможности рефакторинга и инспектора кода;
возможность просмотра классов из swf.

Короче разработка на ActionScript в IntelliJ IDEA сплошное удовольствие. :)
Незамедлительно обратил внимание начальства на этот продукт и необходимость его приобретения. :)

Ну а дальше будет об установке, много скриншотов и немного комментариев к ним.

Пара слов о запуске IntelliJ IDEA 9 в Ubuntu.

На официальном сайте нужно скачать архив с Intellij IDEA 9. Без регистрации IDEA можно использовать 30 дней в режиме триала (достаточное время чтобы решить нужна ли она вам или нет):
Intellij Idea 9 Ultimate Edition(стабильная версия) или EAP сборки последних версии (за новые фичи платим стабильностью работы, сижу на этой версии проблем пока не возникало :)

Нам так же потребуется Adobe Flex SDK http://www.adobe.com/products/flex/flexdownloads/

Для отладки и просмотра вывода trace в Intelliaj IDEA требуется установка в систему debug flash player plugin для браузера http://www.adobe.com/support/flashplayer/downloads.html#fp10

Установим JDK от sun и flash plugin:
sudo aptitude install sun-java6-jdk flashplugin-nonfree

Заменим файл Flash плагина "/usr/lib/flashplugin-installer/libflashplayer.so" на отладочную версию из архива http://download.macromedia.com/pub/flashplayer/updaters/10/flash_player_10_linux_dev.tar.gz.


Подробнее о установке Flash Debug Plugin в Ubuntu тут: http://ubuntuforums.org/showthread.php?t=1300563

Распакуем архивы с IDE и Flex SDK куда-нибудь. Я распаковывал просто в домашний каталог.
Добавим в начало файла "ideaIU-94.273/bin/idea.sh" во вторую строчку путь к JDK:

#!/bin/sh
JDK_HOME="/usr/lib/jvm/java-6-sun/"
# ...

Подробнее о настройке Intellij Idea 9 в ubuntu описано тут: http://techbrew.net/articles/200711/how-to-put-intellij-idea-on-ubuntu/

После этого запустим idea.sh (возможно потребуется сделать этот файл исполняемым в его свойствах) для запуска IDEA.








Во время первого запуска IDEA попросит выбрать требуемые плагины. Мне пока нужен только Git, а JavaEE не нужно совсем.










Создание "HeloWorld" ActionScript проекта.









Нужно добавить на Flex SDK.











Теперь Flex SDK можно выбрать.



Компиляция, запуск и отладка проекта.



Создадим конфигурацию запуска.




Выберем главный класс.







Добавим точку останова щелчком мыши напротив строки и запустим отладку.



Но для запуска нужно сначала указать браузер.


Идем в настройки среды.




Теперь можно запускать.



Отладчик просто шикарный.


Отлов trace присутствует.


Запущенный в браузере HelloWorld.


Читать дальше......

суббота, 20 февраля 2010 г.

AS3IDE - среда разработки для ActionScript 3.0 и Flash в Linux

Если вы решили вести разработку ActionScript 3.0/Flash приложений из под Linux используя только OpenSource инструменты, то вам вероятно следует запастись мужеством и крепкими нервами. Хотя Adobe Flex SDK вполне себе кросс-платформенный и работоспособный, OpenSource IDE для ActionScript 3.0 в Linux находятся в зачаточном состоянии. :)


Сегодня я немного расскажу об AS3IDE, достаточно перспективном плагине к Eclipse, позволяющем разрабатывать на ActionScript используя Adobe Flex SDK.

Перечислю основные OpenSourse решения для ActionScript, что мне вообще попадалось:



  • Голый Eclipse с прикрученным компилятором mxmlc из Adobe Flex SDK - нет отладки, нет интеллектуальной подстановки.. В общем, на мой взгляд не намного лучше текстового редактора со скриптом для сборки.
  • FlexBean плагин для Netbeans - оставил о себе унылые воспоминания недоделанного прототипа. В нем не было вообще ничего кроме запуска компилятора.
  • Asdt плагин для Eclipse - не пробовал, т.к. он под ActionScript 2.
  • FlashDevelop под Windows вполне терпимый инструмент но написан под .net. Под mono у меня не завелся. Из коробки умеет только ловить вывод trace.
  • Air MiniBuilder неплохой кросс-платформенный редактор кода для ActionScript, перспективный развивающийся проект. К сожалению, его нельзя назвать полноценной IDE, т.к. нет отладчика и интеграции со сторонними инструментами вроде систем контроля версии.
  • AS3IDE плагин для Eclipse - второе работоспособное решение под Linux что мне попадалось.

Здесь я, пожалуй, отмечу, что если вам нужна полноценная качественная среда разработки на Flex/ActionScript под Linux уже сейчас, то настоятельно советую посмотреть на Intellij Idea 9 Ultimate Edition или EAP (Community Edition не поддерживает Flex/ActionScript). На мой взгляд лучшей поддержки Flex/ActionScript под Linux на данный момент просто не существует. И своих денег эта ide стоит, хотя и жалко что нельзя купить поддержку Flex/ActionScript отдельно от Java.

Ну а если вы хотите поэкспериментировать и познакомится с новым перспективным инструментом, я расскажу Вам про AS3IDE и его установке в Ubuntu.

Перечислю положительные качества AS3IDE:



  • является плагином к Eclipse и позволяет использовать все плюшки этой IDE;
  • кросс-платформенность;
  • имеет более-менее юзабельный отладчик с точками останова, просмотром переменных и отловом вывода trace.

Недостатки (по причине сырости проекта):



  • Может повесит Eclipse намертво, при компиляции более менее сложного проекта;
  • Интеллектуальная подстановка работает с причудами, нет автоимпорта пакетов;
  • Отладчик не ловит исключения;
  • Нет и намека на поддержку рефакторинга :).

AS3IDE начал свою историю недавно, в сентябре 2009. На февраль 2010 находится в стадии преальфа версии и сейчас еще достаточно сырой.
Доступен здесь http://sourceforge.net/projects/as3ide/ Судя по svn репозиторию, проект активно развивается и есть надежда на то, что со временем он станет вполне полноценным решением для коммерческой разработки.

Чтобы попробовать AS3IDE нужно для начала установить Eclise:
sudo aptitude install eclipse
Для просмотра swf в браузере нужно поставить Flash-плагин:
sudo aptitude install flashplugin-nonfree
Скачаем плагин AS3IDE: файл as3ide_update_site.zip
Нам так же потребуется Adobe Flex SDK
http://www.adobe.com/products/flex/flexdownloads/
И Standalone Debug Flash Player для поддержки отладки:
http://download.macromedia.com/pub/flashplayer/updaters/10/flash_player_10_linux_dev.tar.gz




  1. Распакуйте куда-нибудь Flex SDK (например: ~/flex_sdk_3.5).
  2. Распакуйте standalone debug fashplayer в директорию %FlexSDK%/bin (например: ~/flex_sdk_3.5/bin/flashplayer). Standalone версия fashplayer находится в архиве: flash_player_10_linux_dev.tar.gz/flash_player_10_linux_dev/standalone/debugger/flashplayer.tar.gz/flashplayer
  3. Распакуйте куда-ниудь as3ide_update_site.zip (например: ~/as3ide_update_site)






Запустите Eclipse и установите плагин AS3IDE добавив папку из архива в качестве источника приложений.






Настроим путь к распакованному Flex SDK:



Создадим новый поект AS3IDE:





Вставим код "HelloWorld" :)



package
{
import flash.display.Sprite;
import flash.text.TextField;

public class Main extends Sprite{
public function Main(){
var txt:TextField = new TextField();
txt.text = "Hello world!";
addChild(txt);
}
}
}

* This source code was highlighted with Source Code Highlighter.


Настроим конфигурацию запуска/отладки. Укажем путь к Standalone FlashPlayer:




Нажмем на кнопку Run и проверим работоспособность нашего приложения:


Проверим отладчик. Поставим точку остановки:


Запустим приложение в отладочном режиме:


Переключимся на отладочную перспективу:


Точка останова отработала. В окне отладчика можно посмотреть содержимое переменной txt.


Проверим автоподстановку. В наличии. :)


Вот собственно и все. Будем надеяться AS3IDE продолжит свое развитие и когда нибудь станет достаточно зрелой для использования в коммерческой разработке. Пока же она больше годится для небольших экспериментов.

Благодарю за внимание, удачного кодинга! :)

Читать дальше......