January 14, 2013

Eclipse for JavaScript Web Developers

Каждому, кто решил заняться JavaScript-ом после нескольких лет работы в Eclipse, может показаться вполне логичным и естественным продолжить и дальше работать в Eclipse и использвать JSDT (JavaScript Development Tools).

JSDT (JavaScript Development Tools)

- это плагин для JavaScript разработки, базирующийся на JDT (Java Development Tools) - "главном" эклипсовом плагине для разработки Java.

Идея была в том, чтобы не писать плагин для джавсаскрипта "с нуля", а вместо этого - закастомайзить мощный эклипсовый Java-плагин для написания JavaScript. Идея хороша, но так как Java - это язык со строгой типизацией, а JavaScript - нет, то это вызвало определенные трудности и наложило определенные ограничения.
http://wiki.eclipse.org/JSDT

JSDT являтеся частью WTP (Web Tools Platform Source Editing) проекта. И может быть поставлен дополнительно к вашей текущей версии Eclipse. На данный момент последняя версия WTP 3.4.1 от 17 Sep 2012.
http://www.eclipse.org/webtools

Но если вы решили ставить эклипс для джаваскрипта «с нуля» – то лучше воспользоваться инсталляцией, которая уже содержит WTP. Лучше всего было бы поставить «Eclipse for JavaScript Web Developers». Но для последней версии Eclipse 4.2.1 (Juno) такой сборки нет и поэтому можно взять Eclipse IDE for Java EE Developers.
http://www.eclipse.org/downloads

Апологетику и ценные советы по использованию Eclipse для JavaScript разработки можно найти в статьях Сергея Чикуёнка. Статьи от 20 июля 2011 года, но это лучшее по данной теме что я смог найти в начеле 2013 ;-)
http://chikuyonok.ru/2011/07/eclipse-webdev1
http://chikuyonok.ru/2011/07/eclipse-webdev2

Отладка JavaScript в Eclipse

Пошаговую отладку JavaScript из Eclipse удалось запустить используюя Crossfire.
https://github.com/mrennie/crossfire/wiki

Вкратце это выглядит так:
  • Для запуска ActionScript скриптов используется Firefox,
  • В нем должен быть инсталлирован и активирован Firebug
  • Должен быть так же инсталлирован плагин Crossfire, и активирован в режиме «сервера» - в этом случае он будет собирать всю необходимую отладочную информацию из Firebug, и передавать ее в формате JSON debug-клиенту.
  • В нашем случае debug-клиентом будет JSDT-debug плагин в Eclipse, который и будет красиво отрисовывать всю отладочную информацию в эклипсе: все точки оставнова, объекты и значения переменных.
Сrossfire

Firefox с работающим в режиме сервера crossfire лучше запускать в отдельном профиле:

- Тут мы создадим профиль crossfire-server :
firefox -no-remote -ProfileManager
 - А потом мы его будем запускать как-то так:
firefox -profile crossfire-server -crossfire-server-port 5000 -no-remote

Можно также активировать crossfire из firefox-а вручную.

FBTrace

FBTrace может понадобиться чтобы убедиться в том что сrossfire работаетhttps://getfirebug.com/wiki/index.php/FBTrace / https://getfirebug.com/releases/fbtraceОписанные в документрации пункты меню я так и не нашел, но удалось установить флажком extensions.firebug.alwaysOpenTraceConsoleСамое главное - нужно помнить, что отладка будет подхватываться только когда firebug отладка активирована на открываемой в firefox страничке (и при этом crossfire тоже должен быть включен в режиме сервера)!

Дополнительные плагины

В дополнение к JSDT я сразу накатил несколько плагинов:

Emmet (Zen Coding)

Подробнее об использовании Emmet (Zen Coding)http://docs.emmet.io

Отладка в Firebug jQuery страничек

Еще наткнулся на интересный плагин к Firefox для отладки в Firebug jQuery страничек:http://firequery.binaryage.com/

Выводы

В общем и целом разработку и отладку JavaScript в Eclipse вести можно. Но все равно - ощущения "счастья" не возникает - все как-то слишком громоздко, подглючивает и подтормаживает (особенно когда дело касается отладки через Crossfire).Возникло желание попробовать чуть более платные IDE для разработки - например JetBrains WebStorm: http://www.jetbrains.com/webstormКстати, если вы пользуетесь (или планируете использовать) JetBrains IntelliJ IDEA, то имейте в виду, что в платной версии IDEA есть все средства для разработки JavaScript/HTML5 - то есть всё, что есть в WebStorm. http://www.jetbrains.com/ideaА кроме того в платной версии IDEA есть также средства для разработки на Flex/ActionScript. http://www.jetbrains.com/idea/features/flex_ide.htmlИМХО - есть смысл сразу купить JetBrains IntelliJ IDEA, особенно если будет хорошая скидка, и не париться в дальнейшем. А там глядишь - может и Java придется программировать ;-)