LXF85:Сравнение
Lockal (обсуждение | вклад) (пока без таблиц) |
Версия 19:50, 10 марта 2008
|
|
|
Каждый месяц мы анализируем для вас тонны программ – а вы можете отдыхать!
Содержание |
Среды разработки Java
Ричард Драммонд, подсевший на кофеин, тестирует последние кофеварки – простите, инструменты разработки Java-приложений. Чей аромат лучше?
О тесте...
В качестве тестовой системы использовался компьютер Athlon 1,350 МГц с 1 ГБ DDR ОЗУ, под управлением Debian Unstable. Использование такого отсталого процессора выдвигает на передний план показатели производительности IDE, важный критерий в нашем Сравнении.
Поскольку редактор – это основной инструмент в любой IDE, мы тщательно сравнивали среды редактирования, проверяя не просто быстродействие, но и наличие функций, помогающих безошибочно вводить Java-код с наивозможной скоростью. Обращалось внимание на интеграцию со стандартными инструментами, типа Ant, JUnit и системами контроля версий, на поддержку технологий Java, а именно JSP, JSF и EJB, наличие инструментов визуального проектирования или моделирования, и так далее.
Также учитывалась простота использования, и мы сравнивали, какую документацию, учебные материалы и примеры проектов предоставляла каждая IDE. Наконец, определяющим фактором в рейтинге была цена.
Пусть это прозвучит еретически, но я хочу сказать «спасибо» Microsoft. Почему? Потому что разработкой и продвижением своей конкурирующей платформы .NET они дали Sun и сообществу Java столь нужный им толчок. Например, с выходом Java 2 Platform Standard Edition (J2SE) 5.0, язык Java наконец-то получил новые возможности, о которых пользователи просили давным-давно, например, поддержку обобщенных конструкций (generics); а предстоящий Java SE 6.0 (кодовое название «Mustang») обещает гораздо большую интеграцию Java-приложений с рабочим столом. В Sun даже посулили открыть исходные коды Java.
Аналогично подогревается и разработка Java-инструментов, подпитываемая главным образом за счет конкуренции между двумя открытыми платформами, NetBeans и Eclipse. Java на световые годы опережает платформу Microsoft в этой области, и Java-разработчикам предлагается гораздо больший выбор, чем их оппонентам на .NET, благодаря большей зрелости и большей открытости платформы Java.
Парад IDE
При столь обширном диапазоне доступных интегрированных сред разработки (Integrated Development Environment, IDE) для Java, по функциям и стоимости – от свободных Javaориентированных редакторов до дорогих RADкомплексов уровня предприятия [RAD – Rapid Application Development – средство быстрой разработки приложений, – прим. перев.], кто сможет справедливо сравнить их? Подбирая пакеты для данного Сравнения, мы хотели учесть все многообразие вариантов, так что выбирали в ширину, а не в глубину: мы охватили семь IDE, но, при сложности этих программ, наши статьи о каждой неизбежно коротки.
Мы рассматривали последние стабильные версии каждой из IDE, а не бета- или пререлизные версии. Поскольку каждая IDE включает открытый API для создания расширений, мы ограничились только официальными расширениями и дополнениями, публикуемыми поставщиком – без сторонних или разрабатываемых сообществом расширений.
Здесь пропущена одна заметная IDE: основанная на Eclipse платформа Rational Developer Platform от IBM. Мы хотели включить этот богатый функциями комплекс уровня предприятия, но, к сожалению, не сумели добиться стабильной работы в нашей тестовой системе.
NetBeans IDE
Открытая среда разработки, затмение которой вряд ли произойдет в ближайшем будущем.
Ранние версии NetBeans, открытой инструментальной платформы и Java-IDE, спонсируемой Sun, имели странный пользовательский интерфейс, но он был успешно подправлен в релизе 4.0. Фактически, если вы давно не пробовали NetBeans, мы бы посоветовали вам взглянуть на него еще раз. Хотя конкурирующей платформе Eclipse уделяется больше внимания, NetBeans в настоящее время – очень сильный продукт: быстрее, проще в использовании и более совершенный.
Хотя он не идеален. Возьмите редактор NetBeans. Это приятная и быстрая среда для ввода кода Java, HTML, XML, JSP, CSS и SQL, с автодополнением (включая дополнение CamelCase [использование составных слов или фраз, причем слова стыкуются без пробелов, и каждое новое слово начинается с заглавной буквы, – прим. перев.]) и шаблонами. Версия 5.0 наконец-то представляет несколько приличных инструментов рефакторинга, хотя их пока меньше, чем у конкурентов. Редактор распознает ошибки по мере ввода и предлагает варианты для исправления, но эта возможность не столь продвинутая, как инструменты статического анализа IntelliJ. Аналогично, инструменты переформатирования кода в NetBeans, на фоне других, не слишком гибки в настройке. Зато NetBeans обладает прекрасными инструментами JavaDoc, включая графический интерфейс для быстрого добавления JavaDoc-тэгов в ваш код.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Редактор HTML и JSP не является визуальным. Он предлагает палитру тэгов HTML и JSP, которые вы можете перетаскивать в ваш код для быстрого построения web-страницы. Функция предпросмотра не реализована, так что приходится развертывать страницы и просматривать их в браузере.
Но все однозначно, если говорить о редакторе графического интерфейса. Он всегда радовал, а в версии 5.0 превзошел самого себя. Эта новая версия, под кодовым именем Matisse, позволяет вам как попало перетаскивать компоненты мышью на форму и решает, какие менеджеры компоновки лучше всего подойдут для их склейки; имеются динамические направляющие, что гарантирует вам получение элегантных форм с минимальными усилиями. Пользоваться редактором невыразимо просто!
NetBeans интегрируется с встраиваемой базой данных Apache Derby и web-контейнером Tomcat. Включена поддержка JBoss, WebLogic и серверов приложений от Sun, а также различных баз данных, которые буквально штампуются инструментами для создания, просмотра и модификации; также поддерживается создание и работа с web-сервисами. В web-приложениях можно использовать как JSF, так и среду Struts, и, разумеется, NetBeans предоставляет инструменты для создания и использования EJB.
Включен интегрированный отладчик, чтобы вы могли отлаживать JSP, сервлеты и EJB, а не просто отдельный код, а монитор HTML помогает при отладке web-приложений. JUnit также поддерживается, что, впрочем, неудивительно.
Совместная работа над кодом
Наряду с этими функциями, NetBeans имеет два дополнительных пакета (оба от Sun), которые выделяют его из толпы. Первый – Developer Collaboration. Он добавляет систему мгновенных сообщений (основанную на протоколе Jabber) в IDE NetBeans и инструменты предоставления файлов в общий доступ, что позволяет нескольким разработчикам совместно редактировать исходный файл в одно и то же время. Эти инструменты очень удобны для распределенных групп разработчиков, особенно при пересмотрах кода. Требуется сервер совместной работы, или можно бесплатно подписаться на использование сервиса, предоставляемого на share.java.net.
Второй – NetBeans Profiler, включающий нетребовательный к ресурсам Java-профилировщик и различные инструменты для сбора и визуализации полученных данных. Можно выполнить профилирование всего проекта, отдельных классов или просто участка кода, увидеть число созданных потоков, потребление памяти, статистику сборщика мусора... даже подключить профилировщик к уже запущенному процессу (хотя для этого требуется запустить ваш проект в доступной для скачивания модифицированной JVM, виртуальной машине Java).
NetBeans, как и любая программа, не совершенен, но создает ощущение хорошего баланса между удобством, набором функций и ценой (не забывайте, что он бесплатен). Да, редактор мог бы иметь больше излишеств; поддержка систем контроля версий, отличных от CVS, слабовата, и документация не исчерпывающая – но NetBeans предоставляет полноценную, всеобъемлющую среду, за которой – целый ряд чудо-инструментов.
Sun Java Studio Creator
Web-приложения – легким движением мыши.
Creator от Sun – это урезанная сборка NetBeans 4.1 с инструментами для JSF (JavaServer Faces, см. LXF84) и разработки портлетов. Она поставляется с Sun Application Server 8.2 и встраиваемой базой данных Apache Derby и формирует полную визуальную среду для разработки web-приложений на базе JSF.
С помощью Creator вы создаете JSF-формы, как если бы вы строили «толстые» графические интерфейсы в инструменте RAD – перетаскивая компоненты, манипулируя их свойствами и затем добавляя специфичные для приложения привязки, типа обработчиков событий. Сейчас в качестве слоя представления поддерживается только JSF, но в будущем обещана поддержка Swing. Creator дает различные представления форм – представление дизайна, представление JSP и представление Java. Поддерживается связанное редактирование JSF- и JSP-представлений. Предусмотрены инструменты для привязки свойств JSF и для объединения ваших форм с EJB, таблицами баз данных и web-сервисами.
Редактор в Creator предлагает те же функции, что и в NetBeans 4.1: он быстр, имеет автодополнение кода со встроенным просмотрщиком JavaDoc, и т.д., но его инструменты рефакторинга и форматирования кода скудны.
Есть поддержка баз данных DB2, Oracle, SQL Server и Sybase, но Creator интегрируется только с сервером приложений или web-сервером Sun. В отличие от NetBeans, интеграция с Ant отсутствует. Инструменты отладки, удобный HTTP-монитор и поддержка среды JUnit упрощают тестирование и отладку ваших приложений.
Creator скорее витрина для JSF, а не практический инструмент, но если вам вдруг захочется разработать что-то с помощью JSF, Creator – простейший и быстрейший способ это сделать: он может похвастаться обширной документацией, учебными материалами и примерами кода, а его функция DynamicHelp предоставляет контекстно-зависимые ссылки на справку прямо в основном интерфейсе IDE, так что вы никогда не заблудитесь.
IntelliJ IDEA
Покорит ли хакеров «интеллектуальная Java-IDE»?
Java-IDE не обязана быть неуклюжей громадиной. IntelliJ IDEA – это всего 47 МБ для скачивания, и ее потребности в рабочем режиме тоже скромны. Неудивительно, что в такой размер не вместился ряд инструментов Java EE (Enterprise Edition, или JEE), имеющихся у конкурентов, и связывание с сервером приложений или базой данных.
Где IntelliJ выигрывает, так это в гибкой и умной среде, поддерживающей исходный код Java, HTML, XML, JSP, JavaScript и CSS. Наряду с инструментами рефакторинга и генерации кода и всячески настраиваемым инструментом переформатирования кода, имеется и отличный статический анализатор. Например, он подсвечивает неиспользуемые переменные в вашем коде прямо в самом редакторе, в то время как инструмент полного статического анализа информирует вас, где переменные можно сделать окончательными [final], нет ли недокументированных методов, и т.д., и предлагает сделать исправления за вас. Среди недостатков – отсутствие просмотровщика JavaDoc, ассоциированного с инструментом автодополнения кода (фактически, здесь вообще нет внутреннего просмотра JavaDoc), и невозможность предпросмотра страниц HTML и JSP.
Среда разработки графического интерфейса IntelliJ поддерживает только Swing, но быстра и проста в использовании. Хотя и не столь блистательная, как Matisse из NetBeans, она воспринимается скорее как среда разработки Qt-интерфейса: вы размещаете компоненты, где хотите, манипулируете их свойствами, затем группируете их по горизонтальным или вертикальным клеткам или сетке, чтобы построить форму. Интересно, что поведение среды разработки графического интерфейса по умолчанию – генерация из вашего GUI-проекта исполняемого байт-кода, а не редактируемого Java-кода.
Поддерживается интеграция с WebLogic и сервером Tomcat, но для других сред JEE вам нужно будет развертывать ваше приложение вручную. Правда, IntelliJ сформирует для вас дескрипторы [deployment descriptors] и архив приложения. Серьезное упущение – в IntelliJ отсутствуют инструменты для работы с базами данных.
Eclipse Callisto
Синхронность между инструментами Eclipse.Установка Eclipse, открытой платформы и Java-IDE, обычно является трудным занятием. Основной проект Eclipse имеет различные подпроекты, например, инструменты для C/C++, графическое редактирование, и так далее. Скачав платформу Eclipse, надо разбираться, какие версии инструментов вам нужны для работы с ней. Проект Callisto исправляет это: проще говоря, сделаны скоординированные релизы различных проектов, и ломать голову больше не нужно.
Eclipse отличается от своего конкурента, NetBeans, тем, что использует не стандартный набор графических инструментов Java – Swing, а SWT (Standard Widget Toolkit), который, вопреки названию, вовсе не стандартный: это обертка вокруг особого родного инструментария. Например, Linux-версии могут использовать Motif или GTK. Результат: Java-приложения больше не выглядят чужеземцами на вашем рабочем столе. Второе отличие – по умолчанию Eclipse использует свой собственный инкрементальный Javaкомпилятор, который жестко интегрирован в IDE, а не стандартный javac.
В прежних релизах Eclipse был великолепный редактор Java, но не было инструментов решения реальных задач. К счастью, это больше не проблема, поскольку другие проекты Eclipse дают свои плоды. Callisto предоставляет инструменты для корпоративной разработки (включая интеграцию с серверами Tomcat, WebSphere, WebLogic и Oracle), разработки баз данных, создания графических интерфейсов, тестирования и профилирования.
К сожалению, хотя Eclipse теперь вобрал в себя массу Java-технологий, он воспринимается как беспорядочная куча инструментов, а не как интегрированная среда. Его графический интерфейс не лишен внешнего глянца, но навигация зачастую трудна, и Eclipse портит впечатление своей вялой производительностью и низкой стабильностью. Тем не менее, эту платформу ожидает хорошее будущее, особенно когда повзрослеют ее подпроекты.
MyEclipse
Eclipse, переделанный для предприятий.
MyEclipse – полностью MyEclipse Enterprise Workbench – это набор коммерческих бизнес-инструментов, поддерживаемых как расширения к открытой платформе. Продукт зародился, когда Eclipse едва выходил за рамки базовой Java-IDE, но даже сейчас, когда у Eclipse есть несколько хороших JEE-инструментов, MyEclipse все еще на версту впереди. Он предлагается по подписке, а не в прямой продаже. Полная профессиональная версия стоит чуть больше 50 долларов в год – удивительно хорошее соотношение «цена/качество».
Основанный на той же самой платформе и Java-инструментах, что и Eclipse Callisto (см. выше), MyEclipse, очевидно, работает похожим образом, так что мы не будем повторяться. Но следует заметить, что MyEclipse включает порт восхитительного графического редактора Matisse из NetBeans в дополнение к тяжеловесному аналогу Eclipse. Правда, в настоящее время он поддерживает только компоненты AWT и Swing, но не собственные компоненты SWT Eclipse.
MyEclipse отличается от своего открытого родителя своими корпоративными инструментами. В частности, хорошо поддерживается web-разработка, обеспечиваемая в рамках JSP, JSF и Struts, а также Tapestry. Включены визуальный дизайнер процессов, редактор изображений и редактор CSS, но, увы, визуальный редактор страниц в настоящее время доступен только в Windows-версии. Возможна и разработка Ajax, с интегрированным браузером Web 2.0 и «живым» отладчиком JavaScript. Более того, включен продвинутый браузер баз данных и UML-дизайнер, способный производить семь типов диаграмм.
MyEclipse есть за что хвалить, но фундаментальные проблемы IDE Eclipse здесь не решены, и остаются те же беды со скоростью и стабильностью. Так же неудобна навигация по интерфейсу; документация местами неоднозначна или вообще отсутствует.
JBuilder Enterprise
Прежнего лидера рынка теснят конкуренты.
Borland поставляет инструменты разработки с незапамятных времен, и егопредложения для Java – функциональные и зрелые продукты. Доступны три версии:бесплатная Foundation edition, Developer edition и Enterprise edition, и в них больше инструментов, чем в вашем ближайшем DIY-центре [Do It Yourself, «сделай сам» – торговые центры,предлагающие широкий ассортимент товаровдля дома, – прим. перев.]. Мы займемся, восновном, последней из них.JBuilder предлагает удобную среду редактирования, со всеми обычными примочками: рефакторингом, переформатированием и инструментами определения и исправления ошибок – хотя его автодополнение кода порой слишком навязчиво, а инструменты CodeInsight и ErrorInsight не идут ни в какоесравнение с аналогами в IntelliJ. Редакторграфического интерфейса хотя и удобен, новыглядит седой древностью по сравнению сMatisse от NetBeans. Из плюсов – Enterprise edition предлагает ряд продвинутых инструментов для аудита кода, отладки и профилирования, и может даже анализировать ваш код на предмет прорех в безопасности.Основной актив JBuidler – ряд его «мастеров» и инструментов, поддерживающих быструю разработку с огромным множеством технологий. Поддерживаются JSP, JSF и Struts для web-разработки. Нужны Cobra или RMI? Они есть. Хотите разрабатывать web-сервисы или EJB? Есть инструмент и для этого. UML? Обижаете! Инструменты совместной работы (a la NetBeans)? Естественно.Неблагодарное занятие – критиковать столь хорошо оснащенный инструментарий, но цена JBuilder Enterprise выглядит завышенной – и следует заметить, что эта программа слегка засиделась в первой строчке хит-парада. Ее интерфейс медленный, захламленный и плачет по переделке, а разработка затормозилась, и новые Java-технологии поддерживаются не лучшим образом. Borland выделила производство своих «традиционных инструментов разработки» в отдельное подразделение и ищет на него покупателя. Если вы подумываете уйти на другую платформу, теперь, возможно, самое время.
Oracle JDeveloper
Java-IDE от короля баз данных.
JDeveloper – темная лошадка среди JavaIDE. Он менее известен, чем его соперники, но предлагает сравнимые функции для базового редактирования Java плюс инновационное окружение для разработки J2EE, при превосходных инструментах визуального моделирования и проектирования. Более того, он доступен для бесплатной загрузки.Корпорация Oracle, несомненно, продвигает JDeveloper как приманку, с целью привлечь покупателей к своему серверу приложений, знаменитому серверу баз данных и промежуточному ПО, и не удивительно, что он поддерживает ряд проприетарных технологий, типа Oracle Application Development Framework (ADF) и TopLink (систему постоянного хранения Java-объектов, использующую реляционные базы данных). Тем не менее, JDeveloper срабатывается и с другими серверами приложений, включая JBoss и WebLogic, web-контейнер Tomcat и любые базы данных с драйвером JDBC. Приложения ADF можно развернуть на любом J2EE-сервере.Можете использовать JDeveloper как универсальную Java-IDE: здесь в наличии все обычные инструменты редактирования, определения ошибок и рефакторинга, плюс продвинутые инструменты для аудита кода, профилирования, проектирования баз данных и многогодругого. Но основное назначение JDeveloper разработка программ на базе ADF. ADF – основанная на MVC среда, упрощающая разработку J2EE-приложений. Она поддерживает дляэтой модели различные выходные технологиивключая EJB, объекты TopLink и web-сервисы и можно реализовать просмотр, используя JSPJSF, Struts или Swing. JDeveloper предлагаетвизуальные и декларативные инструменты длясвязывания всего воедино.Oracle снабдил ADF хорошей документацией и предлагает прекрасные учебники и примеры кода, показывающие, как использовать JDeveloper с этой технологией для быстройразработки корпоративных приложений.
Вердикт
Выбор лучшей Java-IDE смахивает на выбор пары обуви. Здесь нет абсолютного чемпиона – все зависит от цели, для которой вы ее обуваете: шлепать по дому, взбираться на горные кручи или танцевать? Так же и проект, над которым вы работаете, определяет, что вам нужно от инструментов разработки. Кроме того, любое решение зависит от личного вкуса. Кто-то может заявлять, что его побитые молью старые валенки – это вершина комфорта, а кто-то – молиться на свои сандалии; разработчик же может считать определенную IDE самой приятной и продуктивной средой для ввода кода независимо от уровня функций, которые она предоставляет.
Выбором NetBeans нашей «лучшей IDE» мы объявили, что верим: это лучшая IDE общего назначения по соотношению цена/качество. Нельзя сказать, что она идеальна или лучше всех подходит для какой-то конкретной задачи. NetBeans предоставляет комфортную и быструю среду редактирования кода, хотя и не перенасыщенную функциями. Здесь есть первоклассный редактор графического интерфейса, солидные инструменты баз данных, поддержка JEE, достаточная, чтобы сделать жизнь терпимой, профилировщик высочайшего уровня и ряд интересных инструментов для совместной работы. Немаловажно, что NetBeans бесплатна, открыта, совместима со стандартами и поддерживается энергичным сообществом.
Мы понимаем, что выбрав NetBeans, а не ее конкурента Eclipse, мы, возможно, бросаем вызов популярному в СМИ мнению. Однако, хотя Eclipse имеет задатки классной IDE – и действительно может в один прекрасный день обойти NetBeans – она все еще таковой не является. Разочаровывает ее нестабильность, низкая производительность и тяжесть интерфейса. Впрочем, вы вправе не согласиться с нами.
Следует помнить, что каждая из IDE в тесте имеет свои преимущества. Инструменты редактирования и статического анализа IntelliJ безумно хороши; Creator от Sun превращает разработку JSF в плевое дело; MyEclipse предлагает ряд первоклассных инструментов по низкой цене; а JBuilder просто компетентно все выполняет, если вы готовы платить за это. Поэтому мы настоятельно советуем: если вы приобретаете новую IDE, не принимайте наши слова просто на веру. Все рассмотренные здесь IDE можно бесплатно протестировать; даже коммерческие продукты имеют бесплатные, но ограниченные тестовые версии.
Во введении мы отметили, что рынок Java-инструментов развивается очень быстро. Открытые платформы NetBeans и Eclipse предлагают даже весьма сложные и зрелые инструменты бесплатно и поднимают планку для своих коммерческих конкурентов. Фактически, уровень конкуренции таков, что даже прежний лидер рынка Borland (разработчик JBuilder) решил, что бороться дальше невыгодно. Даже если вы сочтете наш выбор, NetBeans, или Eclipse пока не пригодным для ваших нужд, оцените эти инструменты еще раз через годик-другой. Вы можете быть удивлены.