Средства разработки на Java: необходимые и просто полезные программы

Какой бы язык программирования вы не начали изучать, вам неизбежно придётся столкнуться с проблемой выбора нужных для разработки программ.
Программирование на Java не исключение. Скорее наоборот. Количество различных сред разработки исчисляется десятками.
В этой статье я хочу рассказать о минимально необходимом комплекте инструментов для разработки на Java, и о некоторых программах, которые значительно облегчают жизнь программиста.

Необходимые программы
Одно из значительных, на мой взгляд, преимуществ Java перед другими языками программирования, это наличие бесплатных интегрированных сред разработки (IDE), которые по возможностям практически не уступают их коммерческим аналогам.

Я не собираюсь приводить подробный анализ каждой программы. Это не реально сделать в одной статье (даже очень большой:-)). Я просто расскажу о доступных и бесплатных инструментах, которыми сам пользуюсь.

Итак, начнём с необходимых программ.

Разработчиком языка Java является Sun Microsystems. Она же и предоставляет необходимое программное обеспечение (http://java.sun.com/).

Для запуска программ нам понадобится среда выполнения Java – Java Runtime Environment (JRE).

Т.к. одним запуском программ мы не ограничиваемся, то следующим у нас по списку идет комплект разработки программного обеспечения – JDK (Java Development Kit). Он содержит компилятор, стандартные библиотеки и т.п.

Тут необходимы некоторые пояснения. Существует три Java платформы:

1. Java 2 Standard Edition (J2SE)
2. Java 2 Enterprise Edition (J2EE)
3. Java 2 Micro Edition (J2ME)

Каждая из этих платформ предназначена для разработки своего типа программ.

Первая (J2SE) позволяет разрабатывать обычные (desktop) приложения и апплеты (по-сути такие же приложения, только с возможностью внедрения в html-страницу).

Вторая (J2EE) предназначена для разработки серверных приложений (сервлетов, jsp-страниц, компонентов JavaBeans). По сути, J2EE это J2SE плюс Java System Application Server (сервер приложений) и дополнительные библиотеки.

Третья (J2ME) – это платформа для мобильных устройств. Она не входит ни в одну из предыдущих, хотя похожа на J2SE. Дело в том, что мобильные устройства (телефоны, КПК и т.д.) обладают значительно меньшими ресурсами, по сравнению с обычными компьютерами и ноутбуками. И это касается не только памяти и процессора, но и размеров экрана и клавиатуры. Поэтому в J2ME большинство библиотек имеют ограниченный набор возможностей, по сравнению с J2SE, или вообще совершенно другие.

Завершает список минимально необходимых программ текстовый редактор. Очень желательно с подсветкой синтаксиса.

Выбор тут очень большой. От простейших, вроде Блокнота, до достаточно “продвинутых”, например, syn Text Editor.

Советую обратить внимание на Notepad++, syn Text Editor, PSPad. Все они обеспечивают подсветку синтаксиса, работу с несколькими файлами (в табах), подсветку скобок ({}) и т.п.

Наличие такого редактора полезно, даже если вы используете IDE. Потому что очень часто нужно просто посмотреть какой-нибудь файл, а в IDE открыть другой проект, и открывать в ней дополнительные файлы не очень удобно, возникает путаница.

Таким образом, мы имеем минимальный комплект для разработки программ на Java:

  • JRE – среда выполнения;
  • JDK для соответствующей платформы (J2SE, J2EE, J2ME) – компилятор и библиотеки;
  • текстовый редактор.

Минимальный комплект даёт возможность писать программы, но не более того. Каждая операция (компиляция, запуск, создание jar-файла) потребует введения длинных команд в консоли. Ясно, что это дело быстро надоест.

Тут очень пригодиться программа под названием Apache Ant. По сути, это аналог утилиты make, только кроссплатформенный и ориентированный на использование с Java. С его помощью можно автоматизировать практически любую последовательность операций. Например, вы можете выполнить компиляцию проекта, протестировать его и упаковать в jar-архив с помощью всего одной команды. Для этого нужно только создать build-файл с соответствующими задачами. Подробнее о том, как это сделать, можно почитать в статье: Настройка и использование Apache Ant.
В общем, Ant приобрёл очень широкое распространение, и используется как составляющая часть многих Java IDE.

Теперь перейдём к более “продвинутым” средствам разработки, т.е. интегрированным средам разработки (IDE).

Как я уже говорил, выбор довольно большой. Но я бы хотел выделить две: NetBeans и Eclipse. Почему именно эти? Все просто. Во-первых, они полностью бесплатные. Во-вторых, они поддерживают разработку на всех трёх платформах (J2SE, J2EE, J2ME).

NetBeans

Разработку этой IDE поддерживает Sun Microsystems, что положительно отражается на качестве. Последние версии стали значительно лучше и удобнее.

NetBeans предоставляет практически все, необходимые для работы, возможности:

  • удобный редактор кода с подсветкой синтаксиса, автодополнением, отображением интерактивной справки, возможностью сворачивания участков кода;
  • довольно широкие возможности рефракторинга;
  • мастера для создания приложений различных типов;
  • удобный режим отладки;
  • возможность работы с серверами Apache Tomcat, JBoss, Sun Application Server прямо из IDE;
  • подключение к базам данных;

и многое другое.

Для разработки серверных приложений можно скачать NetBeans IDE 5.0 + Application Server. Он устанавливается поверх JDK для J2SE.

Поддержка J2ME реализована в виде плагина.

По поводу плагинов. На официальном сайте размещен перечень наиболее популярных. Правда, не все они бесплатные.

К недостаткам NetBeans, на мой взгляд, можно отнести то, что эта IDE довольно жёстко задаёт структуру проекта. Правда, в большинстве случаев это не проблема. Кроме того, сам NetBeans написан на Java, причём использует библиотеку Swing. С одной стороны - это хорошо, программа кроссплатформенная, имеет красивый интерфейс. С другой – высокие системные требования. Очень желательно не менее 512МБ RAM.

Подводя итог, можно сказать, что NetBeans практически не уступает коммерческим аналогам, и включает в себя множество удобных инструментов. В общем, хорошая IDE.

Eclipse

Это разработка IBM (довольно известная компания, не правда ли?:-)). Вообще, Eclipse разработан как платформа, на основе которой можно с помощью плагинов построить все, что угодно. И это действительно так.

Назвать Eclipse просто Java IDE язык не поворачивается. Ведь есть плагины, которые добавляют поддержку С/С++, PHP, Python и многое другое. Существует даже проект EasyEclipse, который распространяет дистрибутивы Eclipse с комплектом плагинов для разработки на каком-то конкретном языке…

Поддержка Java была введена изначально (т.е. раньше других). Поэтому набор функций очень большой.

Перечислять я не буду. Скажу только, что присутствует все необходимое для удобной работы.

По сравнению с NetBeans, Eclipse допускает более гибкие настройки структуры проекта, что, на мой взгляд, удобнее. Кроме того, системные требования Eclipse немного ниже (за счет того, что используется не SWING, а SWT). Правда, тут нужно учитывать требования установленных плагинов. С плагинами ситуация не однозначная. Есть очень хорошие, есть похуже. Есть платные, есть бесплатные.

В общем, прекрасная IDE, наверное, самая функциональная (за счёт плагинов).

И NetBeans, и Eclipse написаны на Java, т.е. они работают под Windows, Linux и т.д. Плагины к ним тоже пишутся на Java.

Программы на Java требуют больше системных ресурсов, чем их аналоги на C++, но, по-моему, это не большая плата за кроссплатформенность.

IntelliJ IDEA
Я не собирался включать платные IDE в этот обзор. Но IntelliJ IDEA это своеобразный эталон Java IDE. Наверное, это единственная IDE о которой я вообще не слышал плохих отзывов.

Здесь есть все необходимое для разработки программ на Java, причем не просто разработки, а удобной разработки.

Но эта IDE требует денег (около 500$). Наверное, это правильно. Инструменты такого класса не могут быть бесплатными (можно скачать пробную бесплатную версию).

Даже если вы не собираетесь использовать эту IDE, советую зайти на её официальный сайт http://www.jetbrains.com/idea/ и посмотреть демо-ролики. Возможно, нечто аналогичное вы увидите в будущих версиях вашей IDE.

Сначала, я думал на этом закончить статью, но потом решил рассказать ещё о нескольких программах. Они не относятся непосредственно к программированию на Java, но значительно облегчают жизнь программиста.

Речь пойдёт о системах контроля версий. Да, я знаю, такие программы в основном используются при разработке крупных проектов, и вы не найдёте упоминания о них в учебниках для начинающих. Но, как показывает опыт (мой собственный), освоение системы контроля версий не представляет особых сложностей и может существенно облегчить разработку даже небольшого проекта.

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

CVS

Это наиболее распространённая на сегодняшний день система контроля версий. Она используется очень многими проектами с открытыми исходными кодами. Если хотите, зайдите на сайт sourceforge.net, многие проекты, размещённые на нем, представляют доступ к исходным кодам через CVS.

Subversion

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

Обе программы полностью бесплатные.
На мой взгляд, если нет каких-либо особых причин использовать CVS, то стоит пользоваться Subversion, она понятнее.

Для облегчения работы с этими системами можно использовать графический клиент (и CVS, и Subversion в базовом варианте консольные). Для Subversion я использую TortoiseSVN. Эта программа позволяет выполнять команды Subversion прямо из контекстного меню проводника, что очень удобно.

Для сравнения различных версий файлов можно использовать стандартные возможности, но при этом могут возникнуть проблемы с русскими кодировками. Есть очень не плохая программа – WinMerge. Показывает два окна с различными ревизиями файлов, и подсвечивает все различия между ними.

На этом я завершаю обзор. Как вы видите, на сегодняшний день существует множество прекрасных инструментов разработки. И не принципиально, каким из них вы пользуетесь. Любой из них позволит вам создать хорошую программу. Самое главное – это код, который написали вы сами.

Желаю успехов.

Источник: http://www.simplecoding.org/

Автор: Стаценко Владимир



Опубликовал admin
16 Окт, Вторник 2007г.



Программирование для чайников.