С выхода в свет последней версии Zend прошло уже немало времени, а на Хабре регулярно проскакивали дискуссии о том, что же лучше — Zend for Eclipse или Eclipse PDT, в
которых я неизменно
принимал участие. Нынче я позволю себе потревожить публику своим взглядом на предмет, расскажу про всяческие плагины и вы сами сможете решить, что вам нужнее.
PHP редактор
В качестве PHP редактора в обоих вариантах используется
PHP Development Tools. Программисты Zend принимали участие в разработке PDT и в связи с этим существует (небезосновательное) мнение, что
PDT отъедает клиентов у Zend.
Для нас же важно, что различий между ними с точки зрения PHP нет.
Web
Работа с HTML, CSS, XML и JavaScript файлов осуществляется проектом
Web Tools Platform. Здесь все хорошо за исключением JavaScript — возможности не ах. Альтернатив существует немало. Для начала, это — конечно —
Аптану можно смело назвать тяжеловесом. Она предоставляет полный набор инструментов для разарботки web2.0 приложений. Мощные редакторы HTML, CSS, JavaScript, Rubi on Rails, Python. Но ее сила — для меня — слабость. Мне в первую очередь нужен хороший JavaScript редактор; все остальное у меня уже есть. Поэтому идем дальше:
Тоже не прижился, по схожим причинам. Хотя, если он поддерживает
Ext JS (как об этом заявлено), на него стоит обратить более пристальное внимание — Ext JS большой и документация у него большая; если IDE знает все его объекты, их методы и конструкторы — это большое подспорье. Но я ищу что попроще —
Вот это то, что я искал. Аскетично, что такое document и prototype знает, мои объекты понимает и их методы подсказывает. Вот и славно.
Контроль версий
На странице
сравнения Zend и PDT написано, что PDT не поддерживает Subversion. Это, право слово, странно. Tigris исправно обновляет
Subclipse — плагин для поддержки SVN в Eclipse. А в репозитории Eclipse есть
Subversive.
Тестирование
Zend поставляется с PHPUnit. Не знаю, не пробовал. Я остановился на
Simpletest. Все исправно работает.
FTP и SFTP
До недавнего времени это было, да, проблемой. Не существовало сколько-нибудь приличного открытого плагина. Однако недавно в репозитории Eclipse появился таки плагин Remote System Exlorer (тот самый, что и в Zend), который предоставляет и FTP, и SFTP, и SSH…
SQL
Работа с SQL обеспечивается плагином
Data Tools Platform. Он на всех один, у всех одинаковый.
Документирование
phpDocumentor подключается (стоит только погуглить) к любому Eclipse, здесь Zend опять недоговаривают.
Отладка и профилирование
Это тот самый момент, ради которого Zend стоит приобрести. Если
debuger без проблем подключается и к PDT, то профайлер доступен только избранным.
А как же UML?
Конечно,
Visual Paradigm самые крутые и их редакторы можно установить в Eclipse. Но их программы распространяются под собственной лицензией и даже community редакция запрещает коммерческое использование. А зачем покупать пушку, чтобы пострелять по воробьям?
Недавно нашел совершенно замечательный плагин
AmaterasUML. Умеет рисовать только четыре типа диаграмм, но я не проджект менеджер, а разработчик, мне этого хватает с избытком. Рядом лежит еще один незаменимый плагин —
AmaterasERD — для визуальной разработки баз данных. Конечно, умеет генерировать SQL.
Bugtracking
Ну конечно же, есть
Mylyn — менеджер задач с интеграцией с
багтрекерами.
Регулярные выражения
Упомяну лишь один —
QuickREx. Конкуренты у него, конечно, есть.
Итак
У меня на весах остались лежать: профайлер с одной стороны и 399 долларов с другой…
Я не хочу такой дорогой профайлер.
комментарии (56)
Zend
PDT в любом случае будет отедать у Zend их «покупателей» хотя бы потому что PDT бесплатен ;)
Aptana
Aptana на сколько я понимаю так же является далеко не дешевым продуктом. роме того в данный момент Eclipse использует базовую комплектацию 3.4 (Ganymede), и PDT уже подготовили сборку на ее основе, чего не скажешь про аптану. На сколько я помню они до сих пор работают с 3.2. Но суть не в этом, а большой ее тяжеловестности. По мне так у нее просто неприемлемый по скорости движок для работы с javaScript. По сравнению со встроенным в 3.4 JavaScript Editor это просто ужас. Аптану выручают его возможности вкупе. Поддержка Jaxer, мобильных систем, достаточно продвинутого визуального редактора для HTML, GWT. Все остальное в принципе наращивается так же как и во всех других сборках на базе Eclipse.
Поддержка JavaScript
Что касается разработки, то следует обратится скорее к «intellisence» стороне всех «расширений». Текущий JavaScript редактор уже достаточно хорош. Далее следует рассматривать возможность поддерживать различные JavaScript фреймворки. Я работаю с prototype, jQuery и ExtJS. И лучше всех себя показал Spket. Лучшей поддержки фреймворков я пока что не наблюдал. Мнение конечно субъективное, но я искал поддержку именно ExtJS. К сожалению кустомизация форматирования у него платная.
PHP
Все что касается PHP, то Zend добился в этом плане гораздо больше, повсюду интегрировав поддержку собственного Фреймворка. Если говорить о независимости от Zend, то добится практически любого такого же функционала можно на PDT. Тестирование (SimpleTest), отладка (Xdebug).
SQL. Просто добавь драйвер. :) Во всем остальном встроенных возможностей по работе с базами данных еще никто по моему не переплюнул.
QuickREx
Имхо вне конкуренции.
Вобщем по моему духлетнему опыту работы с PDT и попыткой перескочить на Zend или Aptana после выхода на базе Ganymede не оставили выбора ;).
но, повторюсь, это js-редактор, а сам эклипс 3.4 и pdt 2 работают довольно стабильно. иногда выскакивают какие-то ошибки, но некритичные.
а вообще, в последнее время сильно тянет попробовать emacs )
Качал у китайцев версию 1.6.6, правил один раз настройки для яваскрипта, экспортировал, ставил последнюю версию и импортировал настройки.
в PDT 2.0 обещали сделать поддержку Smarty но пока похоже не очень…
Как я вам завидую %))
Из-за какойто аццкой несовместимости нашего фтп/ssh сервера и RSE приходится сидеть на Zend Studio 5.5.1
Просто отваливается соединение. А потом вываливается весь эклипс с какимито аццкими java эксепшенами?
И по SSH и по FTP. Я думаю что RSE виноват. Но (!) Я с выходом каждой новой версии ставлю Zend for Eclipse, Aptana, PDT и во всех этот вылет присутствует.
Никто не сталкивался с такой проблемой?
Хотя может просто совпало, но eclipse больше не вылетал
А коллеги под Windows и Ubuntu Linux
sshfs username@remotehost.com:/path/to/dir/ path/to/mount
Но большинство народу то под виндовсом сирано не может работать :(
С выходом NetBeans 6.5 пересели на неё. Устраивает всем. Тут дело вкуса больше. Обе IDE очень мощьные.
— невозможность связать файл с редактором (приходилось постоянно искать его в дереве)
— непродуманная навигация по файлам (Alt+< — и Alt+->), хотя может просто не нашел
— непонятные фризы секунд на 5-10, хотя в основном все очень шустро
— невозможность посмотреть все дерево классов
— нет вменяемой командной строки (сейчас приходится кодить под Окнами), вообще мало плагинов.
не позволили перейти полностью, так поигрался денек.
Но очень порадовал редактор JavaScript.
Если в 7.0 доделалают, то перейду. Всеже намного легче все выглядет.
Ап__а__тану можно смело назвать тяжеловесом.
ом Data To__ll___s Platform
Zend поставл____ется с PHPUnit.
В итоге все равно перешел на Zend Studio for Eclipse.
Работал вновь на ZS 5.5, вышел 6.1 — поставил… эклипсовые проблемы теже… пришлось еться, но всё же осилил себя и стал в нём работать.
Эклипсовые проблемы меня таки доканали и я поставил нетбинс. Всё что мне надо — есть, единственное чего нет — такой хорошей работы с Zend Framework, да ну чего душой кривить… ниодин проект ZF Zend так и не подхватил… а создавать и еться с рчным экспортом проекта…
В общем сейчас работаю в netBeans, там тоже есть недостатки, но после ZS 5.5 это лучший редактор (для меня). Включить ZS меня останавливает также моя добропорядочность… которая нет нет, да начнёт играть.
PDT 2.0 жду и обязательно попробую…
В Krusader есть необходимый минимальный функционал: браузер файлов по FTP, редактор с подсветкой синтаксиса, сворачиванием-разворачиванием групп, хоткеи для комментариев, подсветка парной скобки, при сохранении по Ctrl-S всё сразу аплоадится на FTP, ну и т.д. И главное что всё грузится и работает быстро, ничего лишнего память не съедает.
Но всё же хочется, как уже сделали все нормальные люди, пересесть на какую-либо среду разработки. Пробовал несколько раз ставит Eclipse+PDT и NetBeans, но так и не получалось заставить себя работать в них. Уж очень много лишнего, работать страшно неудобно!
Для Eclipse например так и не смог настроить редактирование файлов по FTP. Поставил RSE как в инструкции (пробовал и старые версии и самые последние), создаю новое соединение, тыкаю соединиться (пробовал и passive mode и без него) и вижу пустой список (и в Files/My home и в Root), ни файлов ни папок. Пробовал на разные FTP-сервера, везде одно и то же.
Лог соединения:
OS- Kubuntu 8.10. В интернете сижу через сервер NAT, другие программы (Firefox, Krusader, KDE, и т.д.) с серверами работают нормально и на запись и на чтение.
Может кто-нибудь знает как решить эту проблему?
Поставил PDT и ещё Aptana, открыл perspective PHP и в ней добавил View от Aptana (File) — к FTP подключается нормально, открывает файлы в PDT-редакторе, сохраняет тоже нормально на FTP.
Пока попробую поработать так, но всё же с RSE хотелось бы проблему решить! Или хотя бы причину неработоспособности узнать.
img247.imageshack.us/img247/637/capturevh0.png
— никак не нагуглю как заставить работать хоткеи в русской раскладке
— часто несрабатывает комбинация Ctrl+C — Ctrl+V для быстрого копирования: если не отпускать Ctrl между ними то точно не сработает, плюс видимо ещё в каких-то случаях несрабатывает, т.к. часто точно Ctrl+C нажималось, а при Ctrl+V вставляется предыдущий текст
— в kate можно отметить строчку в коде звёздочкой одним кликом и она будет выделена цветом и на scrollbar появится отметка куда мотать чтобы её найти. Очень помогает для ориентирования в коде. В eclipse не найду никак как это можно сделать
— не найду как можно склонировать файл на ftp, т.е. сделать копию текущего открытого файла с FTP в той же или другой папке для эксперементов.
— в кавычках не выделяются конструкции в фигурных скобках (например, echo «My name is {$user['name']} {$user['surname']}.», что затрудняет ориентирование в сложных конструкциях
— при выделении парных кавычек они выделяются квадратом, в результате двойные кавычки выглядят как одинарные
Вначале было ещё много всяких подобных мелочей, но уже нашёл как их настроить под себя, так что надеюсь что со временем либо найду как всё это настроить либо придётся отказаться от некоторых привычек…
— рефакторинг, глючноват канечно — но для простых переименований помагает очень!
— форматер кода с предустановлеными стилями, хорошо для командной разработки
— интеграция с ZF: генераторы классов, mvc outline.
— генероторы классов, геттеров, сетеров и прочих редко нужных но приятных фенечек…
— … чтото забыл.
Code Fssyst у Zend Eclipse просто разтельно умнее чем PDT
— понимает контекст кода и имен внутри блоков
— ловит кучу глупых багов на этапе написания кода
В этой сборке уже почти все есть. Большая половина оставшегося ставиться из репозитория обновлений. Вручную надо доставить совсем уж крохи.
Хотя и вручную я его собирал, тоже без проблем. Поставил сам Eclipse, потом из репозитория все зависимости для PDT (их список есть на странице PDT), потом сам PDT. 30 минут, никаких проблем.
Может быть вы совмещали несовместимые версии пакетов?
По крайней мере, беглый просмотр интернета решения не дал, а хотелось попробовать.
Просто ссылку на Flex Builder они разместили на болле видном месте, что не удивительно.