Главная > AJAX, Eclipse, Open Source, PHP, веб-обзоры, Разное > Десктоп web-кодера: собираем рабочее место для AJAX и Web 2.0 кодера. Статья для журнала Хакер.

Десктоп web-кодера: собираем рабочее место для AJAX и Web 2.0 кодера. Статья для журнала Хакер.

3 мая 2009

journalНиже авторский вариант статьи для журнала Xaкер, которая была опубликована в декабрьском номере журнала за 2008 год. Так как блог не так ограничен в объеме подачи материала, я предлагаю вам полную версию материала, в журнале опубликована насколько сокращенная и отредактированная версия, которую можно прочитать на сайте издания.

Введение

Между всеми этими взломами и хаками ты наверное не раз (а может и не два) задумывался над тем, чтобы самому напрограммировать какой-то из новомодных Web 2.0 стайтов. А то как же, жизнь идёт мимо нас, все делают проекты, а кое-кто даже на них зарабатывает неслабо (ага, ага, даже в условиях кризиса, кому кризис, а кому... ), так и мы не будем отставать от прогресса. Или во фриланс подадимся, там тоже сейчас (да и всегда) можно найти интересные заказы, если деньги нужны. А может ты на работу решил устроиться, и договорился с начальством, что будешь работать дома и на своём компьютере, в офисе появляясь только в день зарплаты и на дне рождения шефа? Неважно, главное - ты стёр все порно и решил превратить свой компьютер в рабочее место веб-разработчика! А мы тебе поможем выбрать нужные программы и утилиты, чтобы и работа была сделана, и напрягаться не надо было, и деньги на девчонок остались (это значит, все ПО по максимуму открытое и бесплатное).

Сначала давай уточним, что мы будем программировать, а вернее - на чем? Так как нацелились мы здесь на веб-разработку, то значит среда разработки должна поддерживать те языки и возможности, востребованные в веб-среде. Сразу скажем, что пока не будем рассматривать разработку на платформе Microsoft, ASP-страницы вероятнее всего придется писать, используя только продукты самой компании-разработчика (ага, и там даже бесплатные версии есть, Visual Studio Express), а об этом можно писать много (или ничего), поэтому мы пока обойдем вниманием продукцию MS.

А далее выбор достаточно богат, а с другой стороны - не такой и большой. Конечно, основный язык разработки для веб-проектов был есть и будет РНР, здесь, как говорится, не попишешь. Но ему на пятки наступают и другие средства, которые мы не можем сбрасывать со счётов, поэтому будем строить нашу среду таким образом, что бы можно было программировать на любом из популярных веб-языков и платформ - будь то PHP, Ruby, Python или JavaScript.

Нда, какая сложная задача - собрать себе среду, которая позволит работать со всеми языками и платформами современного веба, будет бесплатной и открытой, желательно кросс-платформенной и интегрироваться с другими инструментами. А ещё хочется связь с базами данных, работа с FTP и SVN для удобного развёртывания приложений. Это не говоря о таких мелочах жизни как подсветка синтаксиса, форматирование, встроенная документация и автодополнение кода для всех языков и популярных библиотек, поддержка рефакторинга и ещё тысячи и одной мелочи, из которых состоят нелёгкие будни программиста.

Испугались? Это невозможно?! Возможно! Далее я вам расскажу, что поставить и как настроить, чтобы в считанные часы превратить твой компьютер в универсальный инструмент для программирования!

Aptana Studio - основа основ

И так, основой всего будет Aptana Studio IDE - очень мощная и продвинутая среда для разработки, основанная на платформе Eclipse. В эту IDE входят множество отличных инструментов, специально заточенных под веб-разработку, что и позволяет как самим разработчикам, так и пользователям заявлять, что это самая полная среда для разработки под веб.

02_img_site

Eclipse сама по себе  - очень мощная платформа, предоставляющая все основные возможности для приложений, построенных над ней. Это и универсальная система обновлений и плагинов, и встроенная система помощи, с полнотекстовым поиском, собственным встроенным веб-сервером, и абстрагирование от системы и аппаратных средств и многое другое. Именно поэтому почти все системы разработки (или IDE, то есть интегрированные среды разработки) построены на основе Eclpse или как самостоятельные решения, или работают как плагины. И если вдруг ты когда-то переквалифицируешься в Java или С++ программиста, та самая среда сослужит тебе хорошую службу - ведь простым обновлением и доустановкой плагинов одна и та же среда станет средством разработки на любой платформе! А еще Eclipse, как и все правильные программы - кроссплатформенная, работает и выглядит одинаково на всех платформах, включая Win32, Linux и MacOS.

Врезка 1. Для Eclipse можно загрузить сразу настроенные дистрибутивы, позволяющие начать разработку на Java, Java EE, C++ или просто саму платформу с основными плагинами, поверх которой можно начать собирать собственную среду. Это может понадобиться, если ваша среда основана на устаревшей версии, а вы хотите идти в ногу со временем. Так, сейчас основная стабильная версия - 3.4.1, но доступна и версия 3.5М3, которая уже достаточно стабильная для повседневной работы.

Так вот, Apatana сама по себе построена на основе Eclipse, и может работать как самостоятельная программа (включающая в себя как среду Java Runtime, так и саму Eclipse), или же устанавливаться как плагин к уже установленной программе, однако учтите разные нюансы при использовании других версий Eclipse. К сожалению, часть возможностей будут недоступны, если у вас слишком новая или наоборот, очень старая версия платформы.

aptana_studio_blackСейчас Aptana доступна в двух вариантах - открытом и бесплатном, называемом Community и профессиональном, то есть платном Pro. Различия между ними достаточно небольшие, однако для кого-то могут быть принципиальными. В частности, только в Pro версии есть поддержка развертывания проектов на удаленном сервере по протоколу SFTP, а также "самое вкусное" - полностью интегрированный в саму среду отладчик JavaScript для Internet Explorer! Да, это единственное такое решение на рынке, которое может полноценно использоваться для отладки под этот браузер любых AJAX-приложений. В обычную бесплатную редакцию входит такой же отладчик но для Mozilla Firefox (но там он не так нужен, если есть Firebug). Можно добавить еще визуальный редактор JSON-данных, однако за несколько лет постоянной работы с бесплатной и Pro-версиями Aptana я как-то ни разу ещё не испытывал потребности в нем, поэтому не думаю, что кому-то пригодится. Так что смысл покупать лицензию, которая, к слову, совсем не дорогая, всего 99 USD в год, стоит только если вы разрабатываете сложные AJAX-приложения и у вас есть обязательное требование полной работоспособности под IE.

Врезка 2. Среди других отличий Pro-версии стоит отметить встроенный Reporting Engine для составления отчётов по проекту (читай - в основном красивых бумажек для менеджеров и заказчиков), возможность создавать проекты на основе удаленных хранилищ (SFTP, FTP, FTPS), продвинутый анализатор производительности для RubyOnRails веб-приложений (Ruby Performance Profiler) и WSYIWYG-редактор для конфигурационных XML-файлов при создании проектов на платформе Adobe AIR. Стоят ли эти дополнительные возможности своих денег - решать все же вам.

Главной особенностью Apatana, почему именно ее мы выбрали, является отличная работа со всеми клиентскими технологиями и средствами, CSS, DOM, HTML, JavaScript - всем тем, что составляет основу современных проектов. Не говоря уже о поддержке "с коробки" всех популярных AJAX-библиотек, встроенную справочную систему по всех их возможностях, встроенную автоподсказку для тегов и выражений, с автоматическим уведомлением о поддержке того или иного метода в различных браузерах. А создавая новый проект вы даже можете сразу выбрать нужные AJAX-фреймворки и они будут добавлены в проект, а описания всех функций сразу появится в подсказках. Кстати, Aptana вообще сама по себе создавалась изначально вокруг идеи предоставить в среде Eclipse веб-разработчикам качественный и мощный интегрированный HTML/CSS/JavaScript редактор. И действительно, эта функциональность, казалось бы ну что там такого, просто редакторы, остается и сейчас главным козырем всего пакета. Поверьте, другие средства (то есть плагины к Eclipse) вам не дадут такого удобства и функциональности в одном пакете. К тому же, сразу в окне среды можно просмотреть, как будет отображаться ваша страницы во всех популярных браузера (ну ладно, не во всех, а только в тех, что у вас установлены и которые добавлены в качестве просмотрщиков) - редактируемые вами файлы будут автоматически отображены соответствующими движками, и в любой момент можно свободно переключаться между исходным кодом и его отображением. Для большинства задач верстки и разработки это решение следует признать оптимальным и достаточным, более высокого уровня работу с HTML/CSS обеспечивает только пакет Adobe Dreamvewer CS 4, но это уже средства другого порядка, да и цена достаточно "кусается".

10_img_aptana_css_ajax

Для отладки AJAX-приложений в Apatana встроен мощный анализатор запросов, который отслеживает и показывает всю сетевую активность вашего проекта, позволяя на лету контролировать общение приложения с сервером. Кстати, о серверах - проекты можно отлаживать и запускать как во встроенной среде на основе собственного сервера приложений Jaxer (о нем стоит как-то поговорить отдельно), так и использовать любой внешний HTTP-сервер, я, к примеру, использую обычный пакет Denwer.

Облегчает работу (а также просто изучение новых средств, если вы ранее не были плотно знакомы с миром веб-разработки) и встроенный каталог готовых примеров (панель Samples), а также набор некоторых готовых примеров и решений Snippets, содержащий разные готовые решения для CSS, HTML и JavaScript кода.

Какой же сегодня веб-проект без поддержки баз данных, поэтому и в Apatana теперь есть поддержка работы с SQL и прямого подключения к базам данных с возможностью создавать и тестировать запросы, заливать и получать полный дамп базы данных для проекта и многое другое. Все эти возможности доступны в режиме Database Explorer (то есть, при активировании этой перспективы, так в Eclipse-мире называется специфический набор открытых окон и плагинов, сгруппированных под определенную задачу) и могут быть использованы с любой SQL СУБД, для которой у вас есть JDBC драйвер.

Врезка 3. Компания Aptana Inc. серьезно подходит к обучению тонкостям работы со своими продуктами и продвижению своих технологий в массы народные. Для этого выделен даже целый портал Aptana TV, на котором ты сможешь найти записанные обучающие скринкасты по всем аспектам работы с Aptana Studio, разработке и отладке AJAX-приложений и другие полезные материалы.

05_img_aptana_tv

Следуя современным тенденциям, Aptana стала первой средой разработки, где появилась встроенная поддержка платформы для AJAX-приложений Adobe AIR (она была доступной одной из первых, когда только о проекте объявили) а также дополнительные инструменты для работы с проектами, оптимизированными для Apple iPhone. В частности, ты можешь сразу при разработке страниц просмотреть, как они будут отображаться и исполнятся на iPhone, даже не имея его в наличии.

Ну и отлично, с самой средой и клиентской частью мы вроде как разобрались, да все есть, все поддерживается и все отлично, а что же на счет поддержки серверных языков программирования?

PHP, Ruby и все, все, все...

С PHP, главным языком разработки для веба, пока не так все радужно. Плагин для поддержки РНР появился не так давно, и пока предоставляет только самые базовые возможности, например, расцветка синтаксиса, автоподсказки для встроенных функций, справку и встроенную простую среду для запуска кода. Но серьезно работать с РНР при помощи стандартного плагина от Aptana я не советую, не тот пока уровень, увы, не тот. А что же делать? Помните, что наша среда - это ведь та самая Eclipse, для которой доступны сотни и тысячи плагинов. И для добавления в нашу систему полноценных возможностей для работы с PHP-кодом придется использовать сторонние решения. Здесь у нас есть выбор, ведь, в отличие от HTML/AJAX, для РНР существует несколько решений, которые претендуют на первенство.

PHPEclipse

Самым старым и заслуженным является пакет PHPEclipse - совсем недавно вышла версия 1.2.1, хотя по правде, его развитие очень уже долгое время идет слишком медленно, однако для основной работы и этих возможностей более чем достаточно. Пакет добавит как расширенный редактор кода с автоматическим сворачиванием участков кода (Folding), так и автодополнение, автоподстановку параметров функций, возможности создавать собственные шаблоны кода для быстрой вставки одинаковых кусков, но главное - встроенные средства отладки, которые работают с двумя самыми популярными и мощными отладчиками для PHP - DBG и Xdebug (Zend Debugger не поддерживается). Вместе с PHPEclipse удобно использовать и внешний сервер для развертывания и отладки проекта в локальных условиях - он изначально настроен на поддержку среды XAMPP и дополняет панель инструментов кнопками быстрого запуска и остановки сервера. Останется только настроить Apatana на использование внешнего сервера при предпросмотре страниц и настроить профили отладки - тогда вы всегда одним кликом сможете запустить свое приложение и отлаживать будь то JavaScript или PHP - и все в одинаковом и стандартном интерфейсе среды Eclipse.

PDT

Отсутствие открытой среды для разработки под РНР на основе Eclipse озаботило и компанию Zend, которая выпускает коммерческие решения для РНР мира, поэтому она стала родоначальницей двух новых и претендующих на профессиональный рынок решений - открытой среды PDT и собственной коммерческой, Zend Studio for Eclipse, которая пришла на смену собственной платформе Zend Studio  (там также поняли преимущество решения, основанного на платформе Eclipse). И если платный вариант нам как то не по душе (хотя он, без сомнения, имеет более широкие возможности в плане отладки кода), то PDT это "наше все".

PDT или PHP Development Tools - это плагин, реализующий все основные инструменты для работы с РНР проектами в среде Eclipse, добавляя к уже ставшим стандартными возможностями того же PHPEclipse еще и расширенную поддержку средств отладки (так как корни проекта с Zend, то их фирменный отладчик поддерживается в числе первых, а Xdebug появился лишь недавно). Также в среду входит собственные версии РНР-интерпретаторов последних версий, однако в следующем релизе будет и поддержка пока тестовых версий РНР 5.3, наверное, чтобы разработчики уже готовились к обновлениям.

А вот как минус я бы указал на то, что PDT требует для работы очень большого списка зависимостей, которые раздувают размер дистрибутива на почти еще сотню мегабайт, тогда как для PHPEclipse ничего стороннего, кроме базовой платформы, не требуется, а обычный редактор с подсветкой и прочими "редакторскими штучками" есть и в самой Aptana. Сейчас доступна последняя версия PDT 1.0.3, однако в конце года должна выйти 2.0 версия, которая будет поддерживать все возможности как последней Eclipse, так и принесет расширение всех уже реализованных функций и поддержку РНР 5.3. Сейчас доступные ночные сборки этой версии уже могут использоваться в работе, не ожидая финального релиза.

RubyOnRails

Врезка 4. Новомодная платформа Rails на старом языке Ruby. Сам язык начал разрабатываться ещё в 1993 году, а первая версия вышла в 1995, основную популярность в вебе сыграл выпуск фреймворка RubyOnRails в 2004 году.

03_img_radrails

Да, я знаю, что для крутых хакеров-программистов использовать такое попсовое средство, как РНР - просто неуважение, поэтому настоящие люди программируют домашнюю страницу по правильной идеологии MVC с использованием модного языка Ruby и самого продвинутого веб-фреймворка RubyOnRails [Хакер уже писал об этом языке и самой платформе - Искусство Ruby №1, Вагон-ресторан).

Для комфортной разработки вам будет необходим плагин, который является составной частью Aptana Studio и называется RadRails. Он поддерживает, в отличие от конкурентов, все три реализации Ruby - Ruby, JRuby и Rubinius. Для настоящих хакеров в среду встроена полноценная отладка и профилирование кода (в Pro версии), визуальные редакторы со всеми наворотами для YML, RHTML/ERb, XML. Я умолчу о всех стандартных возможностях редактора кода (подсветка синтаксиса, анализатор кода на лету, подсказки и автодополнение, тестер для регулярных выражений, "умное" автоформатирование кода, поддержка множества методов рефакторинга и другие мелочи, которые в 21 веке уже стандартных почти для любого языка и платформы (а вот коммерческий аналог RadRails - 3rdRail, не умеет ни анализировать код, ни его форматировать, а также не обладает функциональностью рефакторинга кода). А поддержка юнит-тестирования, автотестов и фреймворка RSpec обеспечит твоему коду максимальное качество (конечно, если не ленится и писать тесты). Так что, похоже, RadRails пока на рынке среди открытых платформ самая мощная и функциональная, пригодная как для начального освоения языка, так и профессиональной разработки ПО.

04_img_radrails_options_

Python

Врезка 5. Python, который появился ещё раньше, в 1990 году и сейчас занимает уже серьёзное место среди платформ для веб-разработок, ввиду своей мощности и гибкости, поддержке множества парадигм разработки и развитой многопоточости. Не даром его "любит" сам Google и это первый официальный язык для сервиса Google App Engine. Представители Яндекса также неоднократно заявляли, что используют этот язык в некоторых своих проектах.

06_img_aptana_pydev

Поддержка этого языка появилась совсем недавно, в августе этого года представители Apatana заявили, что расширение PyDev, ранее доступное как самостоятельный продукт, теперь будет включено в их среду, а в дальнейшем работа пойдет совместно с разработчиками Aptana  над полной интеграцией и поддержки как самого языка Python, так и улучшения совместной работы над проектами, где совмещается серверная сторона на питоне и клиентская на AJAX.

Из ключевых особенностей редактора кода для Python-а стоит отметить автодополнение тегов, исправлена поддержка режима отладки и совместимость отладчика с Jython (реализация Pythona на Java-платформе, www.jython.org), интегрированный браузер пакетов, поддержка Mylyn (она имеется во всех расширения для языков в Aptana). В помощь только начинающим программистам будут пошаговые помощники для создания новых проектов, заявлена поддержка всех синтаксических конструкций версий 2.4 и 2.5 (именно поддержка 2.5 считается одной из отличительных фич пакета), интерактивная консоль и другие средства, уже классические для редакторов кода.

07_img_pydev

Если принять, что функциональность редактора кода является стандартной, в основном обеспечиваемой инфраструктурой Eclipse и специфическими для языка модулями, то Pydev, да и все остальные языковые плагины, ценны именно интеграцией в инфраструктуру Apatana, а также полноценным отладчиком с унифицированным Eclipse-интерфейсом. А это значит, что разрабатывая проект на любом из языков, будь то клиентская часть на JavaScript или серверная на PHP/Ruby/Python, вы всегда будете иметь дело  с одинаковым стандартным интерфейсом и возможностями. Конечно, будут и отличия, обусловленные особенностями языка, но именно интегрированность в единый комплекс всех возможностей превращает казалось бы стандартные редакторы и утилиты в единую среду, IDE.

К этому я бы добавит и сквозную поддержку общих модулей, например, Mylyn, который добавляет единый интерфейс для управления Todo-списками, тикетами и открытыми багами, позволяя подключаться прямо из среды к удаленным хранилищам кода, багтрекерам и другим источникам данных. А это, в свою очередь, еще более упрощает разработку и унифицирует рутинный труд - у вас сразу в дереве проекта отобрадаются и открытые тикеты и незавершенные задачи и данные с SVN-а и другая информация, а стоит в комментарии пометить особым образом участок кода и указать, что там надо сделать, и потом эта пометка автоматически перенесется в список задач и будет видна всем участникам проекта (если вы позвали друзей).

Управление исходным кодом

Сегодня разрабатывать что-либо и не использовать системы контроля версий - это почти преступление. Ведь так намного удобнее, безопаснее и если вам понадобится пригласить друга дописать вот здесь и здесь пару фич в вашем мега-проекте, вы не станете конфликтовать, если вам придется вносить изменения в один и тот же файл. Поэтому использование современных систем контроля версий вроде CVS, SVN или Git просто обязательное для любого веб-разработчика, если он претендует на то, чтобы стать профессионалом. И хотя в последнее время критика обычных систем вроде SVN  стала нарастать и привела к созданию новых средств вроде распределённых систем Git или Mercurial, мы все же будем использовать старый добрый SVN, ведь он пока что удовлетворит все нужды для обычной веб-разработки.

Любая уважающая себя среда разработки содержит встроенную поддержку SVN, или же имеет плагин для этого, и Eclipse/Apatana не исключение. Для Eclipse есть два плагина, которые обеспечивают работу с репозитарием кода прямо в самой IDE - это Subeclipse и Subversive. Какой из них выбрать, по большому счету, не так и важно - весь базовый функционал, нужный в 99% обычной работы присутствует в обоих плагинах, поэтому вы можете установить любой. Вместе с Apatana теперь поставляется собственный плагин, поэтому вам может вообще не понадобится что-либо устанавливать, просто зайдите в Plugin Manager и нажмите кнопку установить возле этого плагина (даже более - при первом запуске вам предложат автоматически установить поддержку SVN).

Но! По собственному опыту я могу вам рекомендовать... поставить отдельную программу для работы с SVN на уровне файловой системы. Если у вас Win32 платформа, то лучшим выбором будет TortoiseSVN. Почему не встроенные средства, спросишь? Смотри - среда Eclipse сама по себе достаточно громоздкая, и каждый раз ее запуск будет отнимать много времени. А если вы все сделали, отправили изменения на сервер, закрыли и пошли пить пиво, а потом вспомнили, что не добавили новую иконку к текущему проекту. Что делать - загружать многомегабайтного монстра ради того, чтобы послать один килобайтный файл?

11_tortoise_svn

А используя внешнюю программу, вы можете работать с репозитарием когда и как угодно, открывая только Проводник. Да и сделать копию проекта в другой папке легче легкого, или вытащить один файл предыдущей версии не затрагивая весь проект - все это можно делать независимо от основной среды. Конечно, придется работать с несколькими программами сразу, и добавлять/обновлять исходные коды проекта  отдельно от среды разработки, но в случае небольших проектов выгоды такой работы более очевидны, чем сложности при внесении небольших поправок. Ведь можно просто открыть блокнот и поправить строку-другую, если что-то не работает на сервере (ну, допустим, забыли поменять пароли для доступа к базе данных, самая частая ошибка при выкладке проектов с локального сервера на рабочий), не тратя еще минут пять на загрузку основного инструментария.

Ну все, теории конец, ставим!

И, напоследок, уточним, как и что ставить, чтобы получить работающую среду. Не будем много говорить, рассмотрим несколько вариантов нашей среды.

Устанавливаем пакет Aptana Studio с сайта http://www.aptana.com/studio, при первом запуске нас спросят, нужна ли нам поддержка SVN, и я рекомендую согласится и установить этот плагин. Потом, после перезапуска среды, откроется окно MyAptana, где вы можете увидеть все установленные плагины и при необходимости до установить дополнительные. Среди списка плагинов можете выбрать поддержку тех AJAX-библиотек, которые будут использоваться, а также прямо оттуда установить Pydev, RadRuby или PHP и даже все вместе.

01_img_aptana_ide_my_aptana
Есть и другой вариант, если вы любитель новенького и рассчитываете в основном использовать РНР и AJAX. Сначала загрузите самую последнюю версию PDT, я имею ввиду ветку 2.0, она уже на момент выхода журнала может быть и в статусе релиза или кандидата, при это загружайте сразу весь пакет со всеми зависимостями, иначе замучаетесь доставлять пакеты и следить за совместимостью версий. Пакет называется PDT-all-in-one и есть для всех поддерживаемых платформ. Далее, после первого запуска добавьте адрес сайта с обновлениями. Хотя официально не заявлено, но Apatana работает с Eclipse вплоть до текущих сборок версии 3.5, и PDT 2.0 также будет работать на этой версии, хотя некоторые функции или обновления могут сообщать о несовместимости платформ. После этого зайдите в меню обновления программ и установите базовый пакет Apatana Studio, а потом уже доустановите нужные плагины. Важно именно сначала скачать Eclipse в сборке под запуск PDT, а уже поверх установить Apatanа.

И последним этапом будет установка самостоятельной программы для работы с SVN или активация встроенного плагина. Все, можно приступать к работе, а если что-то не ясно - заходите на портал Apatana TV, там действительно отличная документация и многие тонкие вещи отлично показаны на роликах, в частности, нюансы отладки в различных браузерах, работа с iPhone и Adobe AIR.

Врезка 6. При установке бесплатной версии Apatan Studio вы получите триальный ключ для активации Pro-возможностей. Это действительно вам пригодится, поэтому попробуйте - зайдите в Help-> Aptana License и там нажмите valid для проверки ключа и потом Install, сможете месяц наслаждаться расширенными функциями и решить, нужны они вам или нет. А если уж хотите еще сильнее расширить возможности среды, например, добавить поддержку UML-моделирования или другие возможности - посмотрите на проект Eclipse Plugin Central (EPIC), где ты найдешь тысячи плагинов на любой вкус. Разобравшись один раз с Eclipse, ты сможешь собрать собственную рабочую среду под любую задачу!

08_img_eclipse_plugincentra

Врезка 7. В Aptana замечен один странный и просто неприятный глюк - иногда, когда вы открываете среду для продолжения работы, или раскрываете боковую панель, вкладка Project, в которой отображается дерево файлов и папок вашего проекта, обрезается и в нем отсутствует полоса прокрутки-  по сути вы не можете добраться до корневой папки и что-либо сделать. Иногда и перезагрузка не помогает. А решение простое - сначала закройте панель, а потом в меню вида просто снова включите панель проекта.

Врезка 8. Какой бы мощной среда Eclipse не была, у нее сейчас много конкурентов. И если раньше борьба шла в основном за рынок профессиональных разработчиков на Java или C/C++, то теперь все производители играют на всех фронтах, пытаясь сформировать на основе своей среды универсальную систему для всех языков. Поэтому, если вы используете скриптовые языки  - PHP, Python, Ruby или JavaScript, то сможете развернуть рабочее место с использованием почти всех "взрослых" IDE. На днях вышла NetBeans 6.5IntelliJ IDEA идёт еще дальше, добавляя даже поддержку ActionScript/Flash/Flex (редактор кода, отладчик, дополнительные инструменты). И даже на основе закрытой среды MS Visual Studio можно попробовать сделать "конфетку" - взяв за основу бесплатные версии Express (Visual  Web Developer 2008 Express Edition), в которых, кстати, очень неплохой отладчик JavaScript для IE, а поддержка РНР добавляется дополнительно, пакетом VS.PHP for Visual Studio . Единственное, что огорчает - плагин платный. Однако, если очень нужно, это никого не остановит. доступая в редакциях для отдельных языков, включая PHP и Ruby, доступны все основные функции, включая отладку приложений.

  1. Vii
    3 мая 2009 в 16:50 | #1

    В принципе ничего нового, но как памятка очень неплохо.

    Было бы очень интересно почитать, по-подробнее, об управлении кодом (о том же svn, а лучше еще и о git с mercurial :)) в проекции веб-разработчика (типа зачем, как, а лучше на «живом» (учебном ;)) примере).
    Только тут в одну статью наверно не уложишься 😉

    • 3 мая 2009 в 16:53 | #2

      Мне казалось, по теме управления кодом написано уже ой как много. Я в этом плане немного неправильный, потому что не использую стандартную схему вроде trunk/tags/branch, а свою собственную 🙂 Да и git/mercurial не использовал никогда, так как не вижу необходимости. Потому по этой теме наверное вряд ли что-то много напишу, чтобы было интересно.

  2. 3 мая 2009 в 19:06 | #3

    По сути статья свелась к обзору Аптаны — хотелось бы почитать и про другие варианты по-подробнее.

    Я тоже раньше пользовался Eclipse + PDT + куча всякой мелочи, затем понадобилась хорошая поддержка JS и jQuery, по-этому я поставил Aptana в качестве плагина к Эклипсу. Связка оказалась довольно нестабильной (тем не менее, работоспособной), так как Аптана довольно медленно реагирует на обновление платформы Eclipse, а PDT — напротив, требует более свежих версий. PHP плагин Аптаны очень проигрывает PDT (по крайней мере так было пол-года назад, когда пробовал последний раз), по-этому вариант с установкой Aptana отдельно ушел. Кроме того, у Аптаны до сих пор нету 64-битного билда, что также не способствует её standalone установке на 64-битных Linux’ах (это моя основная платформа).

    Моей причиной отказа от Eclipse/Aptana стала чрезмерная монструозность. При моих 2ГБ памяти, активное использование этого IDE (с более чем 100 открытых файлов), вместе с виртуальной машиной с Виндой (для отладки на IE) и FF с кучей открытых вкладок, стало проблематичным. Так же, не очень удобна работа с распределенными VCS (Mercurial в моем случае) — не удобно держать кучу проектов для разных задач, все путается и теряется. Если кто-то имел позитивный опыт работы с ними в Eclipse — поделитесь оным, очень интересно.
    Среди удобств, конечно, хорошая поддержка популярных языков. Я работал в нем с PHP, Python, C++, Erlang, JS — всё имеет удобные инструменты.

    В итоге остановился на Vim с кучей плагинов (в том числе для рефакторинга) и bash 🙂 Памяти занимает мизер, после первичного шока и определенного периода привыкания становится очень удобно и вырабатывается некая зависимость 🙂

    Ещё пробовал Netbeans 6.5 — порадовал меньшей прожолривостью и какой-никакой, но поддержкой шаблонов Django (чем другие IDE похвастаться пока не могут, кроме понимания Vim’ом синтаксиса), однако Python там пока на экспериментальной стадии (а это сейчас мой основной язык).

  3. 3 мая 2009 в 21:00 | #4

    excieve — да, это и была цель материала — обзор на базе еклипса, а аптана лучший представитель. Только netbeans может составить немного конкуренцию, но слишком слабую, а так — нет никакой особой альтернативы. Если мы говорим об IDE, а не текстовых редакторах.

    Надо было попробовать наоборот — на аптану ставить остальные плагины, включая PDT. Хотя он мне не нравиться именно своими зависимостями, при это отдаленно необходимыми. А так — ничего такого в PDT нет, чтобы было надо, подсветка кода и кое какие другие вещи есть и в аптане.

    Ну вроде как вполне работают и 32-битные сборки, нет необходимости особой иметь 64. Как я помню, аптана же опенсорс, так что можете себе собрать свою отдельную.

    Интересный аргумент — а зачем вам _одновременно_ сто файлов? Да и конечно, если паралельно столько всего запущено включая виртуальную машину, то 2Гб это очень мало.

    В итоге вы выбрали текстовый редактор. Это немного не IDE, поэтому нельзя сравнивать.
    Пока единственным конкурентом идет NetBeans, но там вроде не особо есть по части Ajax, да и с поддержкой РНР надо разобраться, все же платформа всегда была заточена под Java, и только сейчас пошла к другим языкам. Я делал на ней пару проектов, комбинированных РНР/Java, получалось неплохо, хотя мне от среды не надо ничего, кроме подсветки синтаксиса и автодополнения/справки.

  4. 3 мая 2009 в 21:42 | #5

    По-поводу 32-битных и 64-битных сборок под Линуксом есть траблы. Не всегда можно эмулировать 32-битную программу на 64-битной системе. Касательно собственной сборки — тоже не все так радужно. Во-первых, 32-битной сборки под Линукс у них нету не просто так, а потому, что у них есть (как и у Эклипса) платформо-зависимый код. Так вот для 64-битной архитектуры они пока не удосужились сделать порт. Во-вторых, как-то не очень хочется разбираться со сборкой огромного гибридного проекта на архитектуре, которую он не поддерживает.

    Одновременно 100 и больше файлов действительно бывает на довольно больших проектах при рефакторинге, например. Или при нескольких активных репозиториях одного проекта (актуально для распределенных VCS), но как я писал ранее — это не удобно в любом случае.

    Vim — сам по себе текстовый редактор, но при помощи множества плагинов его можно превратить в IDE с минимальным набором необходимых функций. Главное, что после некоторого периода использования тяга ко всем наворотам большого IDE лично у меня пропала, как и необходимость обновлять железо.

    Более менее свежие PDT на Аптану не становятся, так как требуют более свежую платформу Eclipse (3.3 хотя бы), которую Aptana все ещё (уже год как минимум) не поддерживает (поддержка сразу 3.4 планируется на версию 1.4). Из плюсов PDT — очень хороший code completion. С другой стороны, сейчас я с PHP не работаю, а PyDev работает везде. Проблемами остаются отсутствие 64-битной сборки и существенная прожорливость.

  5. Vii
    3 мая 2009 в 22:29 | #6

    > aleks_raiden:
    > «В итоге вы выбрали текстовый редактор. Это немного не IDE, поэтому нельзя сравнивать.»

    Так и вижу «гигантское облако помидоров», летящих в вашу сторону XD При определенных затратах времени, из Vim получается действительно мощная IDE, «заточенная» под задачу.

    > excieve
    > «Более менее свежие PDT на Аптану не становятся, так как требуют более свежую платформу Eclipse (3.3 хотя бы)…»

    А разве Aptana 1.2.6 (последняя стабильная версия) не на Eclipse 3.3 постоена. Кроме того на днях вышла публичная версия Aptana Andretti Alpha #2, которая (если я не ошибаюсь) базируется на 3.4.

  6. 3 мая 2009 в 22:55 | #7

    Vii — это если забыть, что сейчас почти в продакшине 3.5 Eclipse 🙂 Но там действительно не все так тривиально с совместимостями разных версий Eclipse и Apatana, надо подумать, подбирая конфигурации. В то же время я давно достаточно (где-то с PDT 1.0.2 вроде) перестал его использовать, мне полностью хватает Apatana PHP плагина, который с 1.0 версии вполне функционален.

    «При определенных затратах времени, из Vim получается действительно мощная IDE, «заточенная» под задачу.» — я не спорю, что при определенных затратах с Белаза можно сделать Формула 1, и даже детали останутся, да и вообще из всего материального можно сделать все остальное, если верно атомы и электроны с позитронами расположить, только зачем и сколько это будет стоить.

    На счет Aptana Andretti Alpha — огромное спасибо, я упустил это, надо посмотреть, так как уже давно Aptana мой основной инструмент.

    excieve — да, возможно, я как то не смотрел на счет зависимого кода, мне казалось там только ланчер нативный, остальное Java

  7. 3 мая 2009 в 23:00 | #9

    По моему, excieve, вы не правы на счет 64-битности. Вот что написано на странице загрузки: «64-bit Linux users please install Aptana as a plugin into Eclipse.». что значит, что платформенный код только в ланчере, да это можно посмотреть и просто в дистрибутиве. Иначе было бы разделение на ветки в плагинах и т.п.

  8. 4 мая 2009 в 01:11 | #10

    aleks_raiden, спасибо за ссылку на 64-битный вариант, однако это ещё альфа. Стабильный релиз не имеет 64-битного билда. Кстати, сейчас просмотрел Andretti — много интересного. Мне кажется, что если бы дело было только в ланчере, который, ИМХО (могу быть не прав) от ланчера Эклипса отличается только (легко заменяемой) картинкой, то 64-битная версия давно бы появилась. Возможно, это из-за зависимости от 32-битной Мозиллы и XULRunner’а, которые в случае установки плагином приходится прикручивать самостоятельно либо терпеть постоянные вылеты и глюки при попытках Аптаны их использовать. Поскольку надежное решение для 64-битной Linux-платформы упаковать в standalone инсталлятор проблематично при таких зависимостях, я думаю, они решили просто оставить это на плечах юзеров. Действительно хорошо, что в альфе новой версии они эту проблему побороли.

    Что касается трудозатрат на доведение Vim до ума, то я бы сказал, что тут больше времени уходит скорее не на настройку под себя (при наличии Гугла и vim.org можно довольно быстро собрать нужный набор плагинов и прокачать конфиг), а на изучение, если раньше не было опыта его использоования.

    Vii, не уверен насчет 1.2.6. Не помню, какая была версия пол-года назад, но тогда основой точно был Eclipse 3.2. В целом, я Аптану использовал около года и все это время она была на 3.2.

    • 4 мая 2009 в 11:10 | #11

      ну если бинарного нет, а как плагин — есть, и если различия между плагином и бинарником в наличии инсталлятора — выводы делайте сами 🙂

  9. jz
    6 мая 2009 в 00:59 | #12

    Спасибо за статью, было интересно почитать.
    От себя добавлю, что использую Eclipse с PDT, Aptana и Spket. Кстати, последний Spket — это действительно удобный JS-редактор, поддерживающий на высоком уровне JSDoc, основные библиотеки типа jQuery или ExtJs, умеющий анализировать все основные конструкции JS, типы переменных и во многом лучший встроенного в Aptana, как мне кажется. Если всерьёз занимаетесь разработкой приложений на JS, то стоит к нему присмотреться.

  10. Vii
    8 мая 2009 в 10:01 | #13

    У последней (стабильной) aptana какие-то проблемы с css-редактором, при редактировании больших файлов (> 1500 строк) начинаются жуткие тормоза, поэтому для css пока пришлось вернуться на webtools. Очень надеюсь что в Andretti это пофиксят

  11. BerdArt
    13 июня 2009 в 09:53 | #14

    А если поставить PDT-all-in-one, в него можно будет добавить поддержку библиотек jQuery и ExtJS? И как это сделать?

  12. jz
    15 июня 2009 в 00:45 | #15

    Скажу, как у меня вышло. Редактор javascript из PDT у меня так и не получилось хорошо подружить с библиотеками… Сначала пробовал сам, потом делал по каким-то описаловкам, найденным в гугле. Может, кто другой смог, послежу за комментами, пишите 🙂

    Зачем тогда коммент пишу? Я поэтому и обратил внимание на Spket. Очень удобная, лёгкая и функциональная альтернатива для редактирования javascript. И библиотеки прикручиваются на раз, любые. Вдобавок, можно дополнительно указывать в комментах конкретного файла зависимости, тогда Spket будет и из этих файлов дёргать доступные объекты. Если интересно, подробно про этот редактор рассказывал Сергей Чикуенок, вот адрес статьи: http://www.artlebedev.ru/tools/technogrette/soft/eclipse-spket/.

  13. BerdArt
    16 июня 2009 в 09:45 | #17

    Да, спасибо. Поставил PDT-all-in-one, на него поставил плагины Aptana, Spket, и др. В Spket прекрасно добавились библиотеки jQuery и ExtJS с описанием функций и переменных, что очень даже удобно — этого то я и хотел. Вроде всем доволен пока )

Комментирование отключено.
Developers.org.ua