Лучшая среда для java. Программы: язык программирования Java. MyEclipse — полноценная Java IDE для веб-разработки

За более чем десятилетнюю историю языка Java, сменилось ни одно поколение интегрированных сред разработки (Integrated Development Environment - IDE). Эволюция IDE средств обусловлена множеством факторов, совокупность которых называется - информационные технологии, включающих в себя программную и аппаратную составляющие, а так же развитие самого языка, которое происходит не только в глубь, оптимизация каких то возможностей, что ярко демонстрирует приход новых библиотек Swing вместо устаревших AWT, но и "вширь", это появление технологий JSP, большая интеграция с СУБД и серверами приложений, поддержка технологий Spring, Hibernate и пр.

И если первые IDE средства, представляли в сегодняшнем понимании примитивный текстовый редактор, который служил только для набора исходных кодов, а всю остальную работу, начиная от компиляции и заканчивая окончательной сборкой проекта приходилось выполнять вручную, то сегодняшние современные, являются фактически многофункциональными устройствами, берущими на себя не только привычные функции но и ряд дополнительных начин6ая от автоматического создания Javadoc, рефакторинга, профайлинга, UML-проектирования, клиента для подключения к любой СУБД и заканчивая такими экзотическими, не относящимися к процессу разработки, как проверка орфографии.

Безусловно, что расплатой за все эти "удобства", являются повышенные требования к ресурсам компьютера. Бытует мнение, что 80% пользователей используют возможности существующего программного обеспечения только на 20 %, это так же можно спроецировать и на IDE - средства. Так как все их достоинства может оценить лишь программист, который не один год занимается разработкой на соответствующей технологии. А начинающим программистам трудно оценить адекватно то или иное средство, поэтому, как правило, его самостоятельный выбор происходит по двум критериям – интуитивная понятность интерфейса и различные временно - ресурсные характеристики, такие как загрузка, компиляция, запуск, занимаемый объем ОЗУ. Ведь на первых порах необходимы только компилятор, отладчик, и непосредственно сама Java-машина .

Поэтому целью данной статьи является обзор существующего рынка IDE средств для разработки программ с помощью языка Java, с выявлением слабых и сильных сторон каждого по различным критериям, на основании анализа результатов проекта: "Тестирование и анализ сред разработки программного обеспечения для Java" ("Testing and analyses IDE for Java" (TAIDEJ)), который был организован нами, координационной группой сайт и проходил с1.01.2006 по 1.09.2006 на сайте www.сайт.

Проект был разбит на несколько этапов. На первом этапе, нами был разработан опросный лист, таблица 2, и собран список Java-IDE, таблица 3, которые были разработаны с момента появления языка Java2 по настоящее время, включая ссылки, как на IDE средства которые у всех на слуху, так и на довольно экзотические. Этот список благодаря нашим участникам периодически пополнялся. Здесь мы хотим выразить, огромную благодарность всем участником проекта, а также всем тем, кто обсуждал и конструктивно критиковал нас форумах, таблица 1

Таблица 1. Java - форумы
Java - Форум на Исходниках.Ру
RSDN http://www.rsdn.ru/?forum
Forums - Juga.Ru http://forum.juga.ru/
IT archiv forums http://www.javable.com/forum
Java Forums - Java Programming http://forum.java.sun.com/
java.net Forums http://forums.java.net
Javalobby.org http://www.javalobby.org/java/forums
JavaWorld http://www.javaworld.com/javaforums
Компьютерный форум Ru.Board http://forum.ru-board.com
Программирование - iXBT Hardware BBS http://forum.ixbt.com
Форум JUG KPI http://jug.in.ntu-kpi.kiev.ua/forum
ЦИТФорум http://forum.citforum.ru
Realcoding.NET http://forums.realcoding.net

При разработке опросного листа мы попытались выяснить следующее:

  1. тенденцию изменения предпочтений программистов, так как некогда успешные средства или совсем перестали развиваться или по каким либо причинам фирмы их разрабатывающие сошли с дистанции, и поэтому многим приходилось переходить с одного IDE - средства, на другое;
  2. каким образом, программист выбрал то или иное средство;
  3. как оценивает программист те средства, с которыми он работал по пятибалльной шкале;
Таблица 2. Опросный лист

Дальнейшие задачи заключались в обработке и анализе, полученной статистической информации, оценки "ресурсоемкости" популярных средств. Кроме того, были подготовлены обзоры некоторых средств, которые размещены на сайте проекта .

Таблица 3. Список IDE для Java.
Название Производитель Сайт производителя
1 Applet Designer Professional TVObjects http://www.tvobjects.com/
2 Apptivity Progress Software http://apptivity.progress.com/
3 Awesume Jawa 1.0 Awesume Interactive Design http://www.awesume.se/en/index.htm
4 Bluette free RAD Java tool http://blue.donga.ac.kr/bluette/
5 Bongo Marimba http://www.marimba.com/
6 Clarion Internet Edition TopSpeed Corporation http://www.topspeed.com/
7 CodeWarrior Pro MetroWerks http://www.metrowerks.com/desktop/pro/
8 Cosmo Code SGI http://www.sgi.com/Products/cosmo/code/index.html
9 ED for Windows Soft As It Gets http://www.getsoft.com/ed_java.html
10 Elixir Elixir Technology Pte Ltd http://www.elixir.com.sg/
11 Free Builder FreeBuilder collective http://www.freebuilder.com/
12 GRASP GRASP Project http://www.eng.auburn.edu/grasp/
13 Grinder Paradigm Exchange http://www.tpex.com/features.htm
14 Hyperwire Kinetix http://www.ktx.com/
15 Jamba Animator Interleaf http://www.jamba.com/
16 Jamba Interleaf http://www.jamba.com/
17 JavaMan HartWare http://homepage.dave-world.net/~hartware/
18 Java Studio Sun Microsystems http://www.sun.com/
19 Javelin Step Ahead http://www.ozemail.com.au/~stepsoft/
20 JaWiz InfinityEdge Systems http://www.infinityedge.com/
21 JBuilder Inprise http://www.inprise.com/jbuilder/
22 JDesignerPro BulletProof http://www.bulletproof.com/
23 JDE for Emacs Paul Kinnucan http://sunsite.auc.dk/jde/
24 JADI Sujal Shah http://dan.hcf.jhu.edu/sujal/winjadi/
25 JIG S Cubed http://www.scubed.cc/
26 Jipe Envision Internet Services http://www.users.globalnet.co.uk/~eis/jipe.htm
27 JPad ModelWorks http://www.modelworks.com/
28 Kalimantan Real-Time Enterprises, Inc. http://www.real-time.com/java/kalimantan/index.html
29 KAWA TEK-TOOLS, Inc. http://www.tek-tools.com/kawa/
30 Lava Dan Page http://www.hnet.demon.co.uk/products/lava/index.html
31 Lemur Island Design http://www.island-design.co.uk/
32 NetBeans NetBeans, Inc. http://www.netbeans.com/
33 OEW 1.0 Innovative Software http://www.isg.de/OEW/Java/
34 PARTS for Java ObjectShare http://www.objectshare.com/p4j/p4j2info.htm
35 PowerJ Sybase http://www.sybase.com/products/powerj/
36 Roaster Natural Intelligence http://www.roaster.com/roaster/
37 SNiFF+ TakeFive Software http://www.takefive.com/sniff/
38 Spirit eVisNet Limited http://www.evis.net/
39 SuperCede SuperCede, Inc. http://www.supercede.com/
40 Visaj Imperial Software Technology http://www.ist.co.uk/
41 Vision Jade Vision Software http://www.vision-soft.com/
42 VisualAge for Java IBM http://www.software.ibm.com/ad/vajava/
43 Visual Cafe Symantec http://cafe.symantec.com/
44 Visual J++ Microsoft http://www.microsoft.com/visualj/
45 Web Application Platform SilverStream http://www.silverstream.com/products/main/main_f.htm
46 Java WebIDE Chami.com http://www.chami.com/webide/
47 WipeOut softwarebuero m&b http://www.softwarebuero.de/wipeout-eng.html
48 IntelliJ IDEA IntelliJ IDEA http://www.jetbrains.com/idea/
49 Eclipse eclipse.org http://www.eclipse.org
50 JDeveloper Oracle http://www.oracle.com/technology/products/jdev/index.html
51 JCreator Xinox Software http://www.jcreator.com/
52 jEdit jEdit http://www.jedit.org/
53 X-Develop Omnicore Software http://www.omnicore.com/
54 Gel IDE GExperts Inc http://www.gexperts.com/
55 IBM Web Sphere Studio Application Developer IBM Software http://www-306.ibm.com/software/awdtools/studioappdev/
56 eXtend NOVELL http://www.novell.com/products/extend/

Во первых, способ распространения, соответственно IDE можно разделить на платные (JBuilder, Visual Cafe…) и бесплатные (NetBeans, Eclipse, Gel), которые любой желающий может скачать с сайта производителя.

Второй классификационный признак мы решили выделить не исходя из каких то специфичных возможностей, так как, по этому признаку, наверное, можно было бы дробить IDE до бесконечности, а из совокупностей возможностей самого средства, и его требовательности к ресурсам. Безусловно, в этом случае на первое место выходит наличие визуального построителя интерфейса, что в свою очередь выдвигает определенные требования к ресурсам.

По этому критерию можно выделить средства, которые не имеют визуального средства для разработки GUI (простые), например Gel, JCreator и которые имеют (сложные) - JBuilder, Idea.

Соответственно первые в ОЗУ при работе занимают менее 30 Мб, а вторые более 100Мб. Что касается самих визуальных средств разработки, то по своему опыту и по мнению многих коллег программистов с многолетним стажем, использование их не всегда является оправданным для начинающих программистов, хотя они вроде бы с одной стороны облегчают разработку, но с другой затрудняют концептуальное понимание таких базовых вещей библиотеки Swing как менеджеры размещения, обработка событий и пр.

Так же к участию в проекте была привлечена группа студентов ДГТУ (особо хочется отметить Егоренкова В. и Лагутина Д.), которые только приступили к изучению ООП, задачи которых заключались в ознакомлении с IDE для Java, их установке, фиксацией параметров при загрузке, выдачей своих комментариев и в конечном итоге самостоятельный выбор средства для первоначальной работы. Результаты тестирования сведены в таблицу 4.

Таблица 4. Результаты тестирования IDE - средств
Параметры GeI JСreator 3.5 JBuilder Х Idea 5 NetBeans 4.1
Время установки 1 сек 1-1,5 сек 58 сек 22 сек 50сек
размер установленного пакета 10,3 Мб 6,49 Мб 332 Мб 157 Мб 118 Мб
Размер дистрибутива 4,21 Мб 3,6 Мб 178 Мб 51,6 Мб 46,4Мб
Запуск 1-1,5 сек 9 сек 6 сек 6 сек
Занимаемый объем в ОЗУ 17828 Кб 12960 Кб 74128 Кб 65604 Кб 61409 Кб
Занимаемый объем виртуальной памяти 9020 Кб 14960 Кб 78588 Кб 76416 Кб 70406 Кб

* За базовую конфигурацию была взята машина на базе: CPU Athlon64 3000+; ОЗУ - 1024Мб DDR-SDRAM (pc3200)

После чего, был проведен семинар, на котором были подведены итоги работы, в результате чего было установлено, что на начальном этапе работы, когда идет процесс изучения синтаксических особенностей языка, нет необходимости в использовании тех возможностей, которые представляют сложные IDE, хотя, безусловно, многих заинтересовали способы быстрой разработки интерфейса, так как эта возможность наиболее интуитивно понятная, и сразу позволяет получать результаты. Но, как известно, разработка интерфейса является неотъемлемой, но не самой важной частью приложения. А повышенные требования к ресурсам со стороны сложных IDE, особенно с учетом того, что не у всех студентов домашние компьютеры имеют даже 512 Мб ОЗУ, дают неоспоримые преимущества простым IDE, поэтому лидером среди студентов, из всех имеющихся в наличие IDE был признан Gel.

Название % голосов Оценка
1 JBuilder 21.47 3.0
2 Eclipse 16.64 3.3
3 NetBeans 14.22 2.9
4 IntelliJ IDEA 11.66 3.5
5 JDeveloper 7.11 2.8
6 Visual J++ 5.26 1.8
7 JCreator 4.26 2.3
8 VisualAge for Java 3.69 2.8
9 Java Studio 3.41 2.0

Исходя из этого, проанализируем, с каких позиций программист подходит к самостоятельному выбору средства.

  1. Интерфейс. Этот первый компонент, с которым сталкивается пользователь после установки и который формирует первое впечатление о программе, и на основании которого может быть осуществлен окончательный выбор. Здесь оценивается не только общий дизайн, хотя, безусловно, он тоже сказывается определенным образом, но и удобство расположения и настройки таких компонент как окно исходного кода, окно проекта и т.д.
  2. Настройка. Соответственно после установки и первого запуска среды разработки выполняется ее настройка, т.е. указываются пути, по которым располагаются установленные SDK, DOCS, J2EE. В этом компоненте, как правило, существенных различий не наблюдается. Более того, современные средства, как правило, самостоятельно определяют установленные компоненты.
  3. Редактор кода. Настройка отображения исходных кодов, как правило, тоже не отличается разнообразием, в любом средстве легко можно настроить кеглю и ее размер, а так же цвет. Немаловажным преимуществом является наличие помощника когда, при "зависании" мышки на любой переменной или методе всплывает довольно подробный ToolTip (контекстное окошко) в котором развернуто, описаны все параметры объекта. Также есть масса приятных мелочей, вывод нумерации строк, отображение структуры класса, показ символов абзаца, проверка орфографии.

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

Анализ результатов опроса, таблицы 5,6. Как было описано выше, в нашем опросе средства были разбиты на две группы, те которыми пользовались ранее, и которыми пользуются в настоящее время. И если среди средств, которые использовались в прошлом наблюдается многообразие, мы отобрали средства которые набрали более 3% голосов от общего числа участвовавших в опросе, то среди тех, которые используются в настоящее время такого многообразия нет, и мы были вынуждены снизить процент голосов, и даже не смотря на это не получили большого многообразия.

Как видно, неизменным участником выборок является "простое" IDE средство JСreator, это объясняется по вей видимости тем, что оно является довольно простым в освоении и не требовательно к ресурсам, следовательно пользуется популярностью среди начинающих программистов. JBuilder потерял свои позиции, это очевидно связано с тем, что бесплатные средства, такие как Eclipse и NetBeans по своим возможностям стали его превосходить. Безусловным лидером следует признать Eclipse, так как оно не утратило свои довольно высокие позиции, а даже прибавило. Популярность JDeveloper следует связывать с его ориентированностью на СУБД Oracle. Популярность IntelliJ IDEA обусловлена тем, что в определенный момент времени, разработчики сумели представить продукт обладающий мощными возможностями, и на протяжении нескольких лет довольно успешно на высоком уровне поддерживают его марку, что подтверждается так же высокими оценками пользователей.

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

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

Таблица 7. Причины выбора IDE

Таким образом, на сегодняшний день лидерами среди IDE-средств разработки на Java являются IntelliJ IDEA, Eclipse и NetBeans. В целом все они имеют примерно одинаковые функциональные возможности, и довольно трудно оценить какое из них является лучшим. Поэтому при выборе средства, очевидно, нужно ориентироваться на IDE, на котором ведется разработка проекта, если программист вливается в команду разработчиков, или выбирать наиболее доступное, если планируется разработка самостоятельного проекта.

Список используемых источников

  1. Жмайлов Б.Б. Преимущества и недостатки разработки Java-программ без использования IDE-средств. Журнал "Вестник компьютерных и информационных технологий" №6, 2006г.
  2. , Сергей Бердачук,"Oracle JDeveloper 10g - Среда разработки Java приложений"
  3. , Алексей Литвинюк, "Введение в интегрированную среду разработки Eclipse"
  4. , Александр Демьяненко, "Краткий обзор IDE – Jbuilder"
  5. , Александр Демьяненко, "Краткий обзор IDE – Idea"
  6. , Борис Жмайлов, "Краткий обзор IDE - Gel"
  7. , Обзор средств автоматизированного рефакторинга в Java IDE

Связано с выбором рабочего окружения - IDE (integrated development environment / интегрированной среды разработки). Особенно важно это для тех, кто впервые сталкивается с программированием, поскольку выбор IDE может оказать существенное влияние на их рабочий процесс.

Несмотря на то, что в целом существует больше десятка различных сред разработки для Java, крупнейшими и наиболее функциональными, а также обладающими хорошей поддержкой как со стороны разработчиков, так и со стороны сообщества, являются три IDE: NetBeans, Eclipse и IntelliJ IDEA. Остальные конкуренты существенно уступают в функциональности, многие более не поддерживаются, из-за чего не могут отвечать последним стандартам такого стремительно развивающегося языка программирования как Java. Остановимся на каждой из упомянутых сред разработки более подробно.

NetBeans разрабатывается при активной поддержке компании Oracle, которой также принадлежат права на Java. Таким образом часть технологий Java имеют поддержку в NetBeans из первых рук.

По своей функциональности NetBeans является наиболее простой и интуитивно понятной средой разработки для Java из тройки лидеров. Без сомнения можно рекомендовать ее для тех, кто впервые сталкивается со средами разработки и языком программирования Java. Среди отличительных черт этой IDE можно выделить оптимальную настройку среды «из коробки». Установив данную среду, пользователь получает отличные настройки компилятора и самой среды разработки, интерфейс без лишних иконок и пунктов меню, присутствуют лишь наиболее востребованные и часто используемые функции. Впоследствии, естественно, можно настроить интерфейс под себя. Можно отметить также удобную реализацию выполнения задач, все меню очень хорошо структурированы, имеют понятные названия. Отдельно можно отметить легкость работы с NetBeans из-за отсутствия необходимости бродить по бесконечным меню и всплывающим окнам, чем страдают многие другие среды разработки. В большинстве случаев при общении пользователя со средой NetBeans автоматически предлагает оптимальные параметры для работы. Таким образом, даже если начинающий пользователь не до конца понимает, о чем его спрашивает среда, нажимая «ОК», навредить своей работе почти невозможно. Установка дополнительных компонентов среды / плагинов (plug-in) производится в один клик. Имеется хорошая поддержка систем контроля версий (VCS, version control system), а также простая в использовании подсистема разработки графического пользовательского интерфейса (GUI, graphical user interface). NetBeans доступен .

Подводя итог, можно охарактеризовать NetBeans IDE как интуитивно понятную и простую в использовании среду разработки. Начиная работать с NetBeans, в нем легко разобраться, а также легко научиться пользоваться этой средой на продвинутом уровне. Кроме того, стиль взаимодействия NetBeans с пользователем таков, что позволяет быстро освоить и сам язык Java, если пользоваться встроенными в среду подсказками, будь то документация Javadoc или рекомендации по исправлению допущенных/потенциальных ошибок.

Eclipse - первоначально созданная IBM интегрированная среда разработки, находящаяся среди лидеров с момента своего появления. Eclipse, однако, заточен не только под Java, а является средой общего назначения Eclipse Platform, что сказывается на его функциональности. Наиболее подходящая для работы с Java сборка среды Eclipse доступна под названием ""Eclipse IDE for Java Developers"".

Отличительной чертой Eclipse является почти неограниченная настраиваемость и расширяемость. У пользователей, однако, это может вызвать проблемы. Так «из коробки» интерфейс Eclipse содержит излишне много редкоиспользуемых функций, обладает запутанными и не интуитивными меню, известен Eclipse и своими бесконечными диалоговыми окнами, требующими от пользователя ввода большого числа информации или просто перегруженными сведениями, с которыми ему необходимо ознакомиться. Система установки плагинов также может показаться запутанной. Системы работы с контролем версий и разработки пользовательского интерфейса находятся на среднем уровне. Eclipse также доступен бесплатно.

Среди плюсов Eclipse IDE можно отметить поддержку почти любой существующей технологии Java, а также второстепенных технологий, без которых не обходятся программисты. Имея достаточный опыт, Eclipse можно до невероятной степени подстроить под свои нужды. Для новых же пользователей это будет лишь преградой к эффективной работе, поскольку от среды общего назначения не стоит ожидать большой интуитивности и простоты.

IntelliJ IDEA, созданная компанией JetBrains, была первой созданной полноценной интегрированной средой разработки. В отличие от вышеописанных IDE Intellij IDEA доступна в бесплатной Community Edition версии и платной - Ultimate. Для начинающего разработчика бесплатная версия содержит весь необходимый функционал и может рассматриваться как полноценная IDE.

Сейчас IDEA получает все больше и больше сторонников и положительных отзывов, являясь, как и говорит ее слоган «умной» средой разработки. Intellij IDEA крайне понятна, проста в использовании, поддерживает большинство современных технологий, имеет одну из самых удобных систем по работе с контролем версий. В ней полностью отсутствует какая-либо перегруженность: минимум диалоговых окон и только необходимая информация выводятся пользователю. Существует обширная система горячих клавиш, позволяющих быстро выполнять большое число нетривиальных функций. По уровню удобства работы с IntelliJ IDEA определенно стоит на уровень выше конкурентов, поскольку будучи «умной» средой, она всегда знает намерения пользователя, подсказывая/помогая ему в работе и экономя большое количество времени и сил. Как таковых минусов у IntelliJ IDEA нет, для новичка, однако, сложность может представлять система разработки GUI, поскольку потребует от пользователя хотя бы минимального набора знаний о построении GUI в Java.

Подводя итог, стоит сделать следующие замечания. Для тех, кто впервые сталкивается с Java и интегрированными средами разработки, идеальный выбор - NetBeans. Для людей, обладающих хотя бы минимальными знаниями Java, подойдет NetBeans или IntelliJ IDEA. Тем, кто имеет желание и возможность провести какое-то время за знакомством и настройкой среды, а также хочет полностью подстроить среду под себя, можно посоветовать Eclipse.

Как вы знаете, Java - один из самых популярных языков программирования в мире и его знание существенно увеличит вашу значимость как программиста. Итак, вы решили начать писать на этом языке. Вам понадобится поставить JDK для того, чтобы писать и запускать программы на Java. JDK - набор софта, разработанного Oracle, содержащий в себе компилятор (javac), среду выполнения (Java Runtime Environment), стандартную библиотеку языка, примеры и документацию. Прочитав эту статью, вы узнаете, как установить и настроить JDK на своей системе, что такое среда разработки и какие варианты IDE существуют для Java. Также вы напишете свою первую программу на Java.

Установка Java Development Kit

  1. Перейдите на сайт Oracle и загрузите JDK для вашей платформы.
  2. После загрузки извлеките полученный архив и запустите извлеченное приложение.
  3. В процессе установке выберите вариант «Development Tool» и нажмите «Next».
  4. Спустя некоторое время установка завершится.

Итак, вы установили Java Development Kit, но это еще не всё. Необходимо настроить его для вашей системы.

Настройка JDK на примере Windows

  1. Перейдите в папку %ProgramFiles%\Java\%версия установленного вами jdk%\bin , нажмите на свойства любого файла в этой папке и скопируйте путь к нему.
  2. Перейдите в свойства вашего компьютера, откройте вкладку «Дополнительно», нажмите «Переменные среды…». В открывшемся окне создайте новую переменную, назовите её Path , в её значение вставьте скопированный ранее путь.
  3. Теперь самое важное. Откройте командную строку и наберите javac , чтобы убедиться, что JRE установлен и настроен. Если выдаётся список аргументов к команде javac , то поздравляю, вы успешно установили и настроили всё, что необходимо для использования Java!

После установки JDK и JRE не помешает установить на компьютер одну из IDE.

Установка IDE

Для начала разберёмся, что такое IDE .

IDE (Integrated Development Environment) — это комплекс программных средств, используемый программистами для разработки программного обеспечения. IDE позволяет с лёгкостью писать, запускать, отлаживать и тестировать код.

Для написания сложных программ целесообразно использовать IDE. Мы рассмотрим наиболее популярные.

Блокнот

Да, и в блокноте можно писать код! Для разработки вам потребуется всего лишь установить JDK и указать путь к ней. Пишете код в блокноте, компилируете с помощью командной строки. Тем не менее, для разработки сложных программ это не самый лучший вариант из-за отсутствия каких-либо дополнительных возможностей, присутствующих в продвинутых IDE.

NetBeans

NetBeans - выбор профессиональных Java-разработчиков. В ней есть уникальные возможности и инструменты, которые позволят вам сделать вашу программу кроссплатформенной, а код удобочитаемым. NetBeans поддерживает не только Java, но и другие языки программирования для десктоп- и веб-разработки. Она полностью бесплатна, скачать её можно с официального сайта. Вот лишь некоторые её возможности:

  • форматирование кода;
  • установка сторонних библиотек;
  • простой графический интерфейс;
  • и многое, многое другое…

Eclipse

Eclipse , как и Netbeans - одна из наиболее популярных IDE. Она предоставляет впечатляющий интуитивно понятный интерфейс и производительную среду разработки, позволяющую комфортно разрабатывать приложения на Java. Скачать Eclipse можно бесплатно с официального сайта. Преимущества:

  • возможность форматировать код так, как вам удобно;
  • поддержка разбиения кода на модули;
  • лёгкость использования одного и того же кода в разных проектах;
  • перетаскивание (drag-and-drop);
  • просмотр содержимого библиотек;
  • удобный интерфейс.

IntelliJ IDEA

IntelliJ IDEA - известная IDE для Java, написанная, как ни странно, на Java. Укомплектована уникальными инструментами и позволяет без проблем ориентироваться в программе. Нахождение ошибок и отладка кода никогда не были такими легкими, как с IntelliJ IDEA.

JCreator

JCreator - продвинутая и самая быстрая IDE для Java, написанная на C++.

Пишем свою первую программу

Итак, вы установили и настроили JDK, JRE и IDE для Java. Каков следующий шаг? Конечно же, написать программу, чтобы окончательно убедиться, что всё работает и вы готовы к изучению языка. Вы познакомитесь с базовой структурой кода на Java и создадите свою первую программу! Стоит отметить, что перед изучением Java следует ознакомиться хотя бы с самыми простыми принципами объектно-ориентированного программирования.

Структуру программы на Java можно представить так:

Структура программы на Java

В файле с исходным кодом содержится несколько классов - это части программы, имеющие определённые функции. Хорошей практикой считается разбиение программы на несколько файлов с исходным кодом, каждый со своим назначением. В классах содержатся методы - действия, которые могут выполнять объекты данного класса. В методе содержатся команды, с помощью которых вы можете получить желаемый результат.

Перед тем, как приступить к созданию программы, необходимо создать проект, а в нём и файл, в котором будет содержаться ваш код. Рассмотрим создание проекта на IDE Eclipse, но в остальных IDE процесс отличается не сильно. Cверху выберите «File», затем наведите курсор на «New», в открывшемся меню выберите «Java Project». В появившемся окне введите имя проекта и другие нужные вам настройки (если не уверены, что делать, то можно просто оставить все как есть) и нажмите «Next». Готово, вы создали проект! Осталось лишь создать в нём класс, в котором вы напишете свою первую программу. Щёлкните правой кнопкой мыши по вашему проекту (он должен появиться справа) и выберите «New» → «Class». Присвойте новому классу имя (в данном примере — это first) и нажмите «Finish».

Приступим к написанию вашей первой программы. По традиции - это программа, выводящая на экран «Hello, world!».

Public class first{ public static void main(String args) { System.out.println("Hello, world!"); } }

Разберём по частям написанное нами:

  • public — это модификатор доступа, определяющий, из какой части программы может использоваться наш класс. В вашем примере public - это весь код;
  • class — ключевое слово, показывающее, что вы объявляете класс, а не что-либо иное;
  • first — имя вашего класса. Круглые скобки определяют начало и конец кода класса;
  • public static void main(String args) — объявление публичного статического метода (то есть который можно вызвать, не создавая объект класса). Метод в примере ничего не возвращает и принимает в качестве аргументов массив строк. Единственная команда в этом методе выводит в консоль сообщение «Hello, world!». Заметьте, вместо println можно написать print , разница лишь в том, что в случае с println дополнительно выведется символ переноса строки.

Хорошо, вы написали вашу первую программу. Теперь её надо запустить. Для этого просто нажмите белую стрелочку в зеленом кружке на верхней панели (при наведении курсора на неё должно высветиться «Run»). После нажатия внизу откроется консоль, в которой вы увидите сообщение «Hello, world»! Поздравляю, вы написали вашу первую программу на Java и готовы погрузиться в увлекательный мир этого языка!

Настройка среды разработки

Для решения задач по программированию рекомендуется использовать основанную на Java расширяемую платформу разработки с открытым исходным кодом Eclipse. Предварительно необходимо установить Java Runtime Environment (JRE) или Java Development Kit (JDK). Так же предполагается использование графического визуального редактора Visual Editor (VE) для построения пользовательского интерфейса приложений на основе AWT/Swing.

Установка JDK
Инсталляция и настройка

1) Установить Java Development Kit (JDK). Ссылка: http ://java.sun.com/javase/downloads/index.jsp
раздел: Java SE Development Kit (JDK).
2) Рекомендуется установить переменную среды окружения JAVA_HOME. указав каталог JDK. В Windows. XP команда Start/Setting Control Panel/System, закладка Advanced, кнопка Environment Variables. New.

3) Добавить в список путей переменной среды окружения PATH путь к каталогу BIN

Проверка работоспособности
1) В любом каталоге, например D:\TEMP, создать текстовый файл One.java с содержимым

/* */
import Java.applet.*;
import java.awt.*;
public class One extends Applet {
public void paint(Graphics g) {
g.drawString(“TEST”, 25, 50);
}
}

2) В том же каталоге в командной строке (Start/Run/Open: cmd.exe) ввести команды:
- для компиляции программы: javac One.java
- для просмотра результатов работы апплета: appletviewer One.java

При отсутствии ошибок и корректной установке TDK, должно появиться окно с результатами работы апплета

В случае ошибки при выполнении команд javac и appletviewer с сообщением вида:
"javac" is not recognized as an internal or external command, operable program or batch file.
следует проверить наличие пути в переменной среды окружения PATH к утилитам каталога BIN JDK.

3) В том же каталоге создать текстовый файл One.htm с содержимым

4) Дать команду: start One.htm

Должно появиться окно веб-обозревателя с результатами работы апппета, например

В случае отсутствия текста TEST в окне, проверить настройки браузера:
- для Internet Explorer 7: Tools/Internet Options Advanced Settings, раздел Java (Sun), должен быть отмечен пункт Use JRE...
- для Opera 10: Tools/Preferences..., закладка Advanced, раздел Content, должен быть отмечен пункт Enable Java.

Установка IDE Eclipse

Инсталляция Eclipse

Рекомендуется установить пакет на базе версии не ниже Eclipse 3.5 SRI. Ссылка: в раздел: Eclipse IDE for Java Developers
Необходимо извлечь содержимое архива, например eclipse-java-galileo-SRl-win32.zip, в корневой каталог выбранного накопителя и выполнить запуск файла eclipse.exe.
Если запуск Eclipse приводит к ошибке с информационным окном вида

Launcher.XXMaxPermSize

или подобрать значения соответствующих параметров самостоятельно. В крайнем случае можно удалить файл eclipse.ini из каталога Eclipse.

Настройка Eclipse

Для облегчения процесса разработки программ (доступа к расширенным справочным данным средствами Javadoc) рекомендуется включить в список рабочих путей новых проектов.TDK (вместо выбранного по умолчанию JRE). Для этого необходимо через меню Window/Preferences открыть окно настройки Java/Installed JREs и выполнить поиск (кнопка Search...) JDK (по умолчанию - в каталоге Program Files/Java). После успешного поиска, нужно отметить пункт в списке Installed JREs, соответствующий JDK

При использовании комментариев на языке, отличном от английского, рекомендуется в настройках редактора отключить автоматическую проверку орфографии: Меню Window/Preferences, раздел General. Editors. Text Editors/Spelling, снять отметку пункта Enable spell checking

Инсталляция

Рекомендуется установка VE 1.4 для Eclipse 3.5. Galileo.
После успешной настройки и запуска Eclipse, в меню выбрать Help Install New Software... В поле Work with: скопировать строку
http://download.eclipse.org/tools/ve/updates/1.4/ и нажать Enter. После загрузки списка компонентов для установки, выбрать пункт Visual Editor и нажать кнопку Next.

Проверка корректности установки

В результате успешной установки информационное окно Help/About Eclipse Installation Details должно содержать информацию о компоненте Visual Editor

В окне по команде File/New.Other... (или при нажатии комбинации Ctrl+N) в списке Wizards раздел Java должен присутствовать пункт Visual Class.

Основы работы в среде Eclipse

Проект Eclipse был создан в ноябре 2001 года компанией IBM и поддержан консорциумом поставщиков программного обеспечения. Eclipse представляет собой основанную на Java расширяемую платформу разработки с открытым исходным кодом. По сути - это среда разработки и набор сервисов д.ля построения приложений на основе встраиваемых компонентов (плагинов). В составе Eclipse имеется стандартный набор плагинов, в том числе инструментарий Java Development Tools (JDT).

Рабочее пространство Eclipse

При первом успешном запуске Eclipse будет отображена страница приветствия

Рабочее пространство Eclipse состоит из нескольких панелей, называемых представлениями (Views), например навигационное (Navigator) или схематическое (Outline) представления. Набор таких представлении называется перспективой (Perspective). Одна из наиболее распространённых перспектив - перспектива Ресурсы (Resource), которая представляет собой базовый набор представлений для управления проектами, просмотра и редактирования файлов проекта. Открыть любое представление в текущей перспективе можно через меню Window. Show View. На странице обзора можно открыть раздел справочной системы "Основы рабочего пространства" (Workbench basics), который содержит много полезной начальной информации о различных компонентах Eclipse и о том, как они взаимодействуют друг с другом. После изучения этого раздела приступим к использованию инструментов разработки Java Development Tools (JDT) Eclipse.

Создание нового проекта на Java

В меню выберите File/New. Java Project (Файл Новый Проект Java) и введите pro01 в ответ на запрос имени проекта, а затем нажмите Finish. Откроется перспектива Java. Можно либо сменить перспективу в текущем окне, выбрав Window Open Perspective. Java (Окно/Открыть Перспективу Java), либо открыть новое окно, выбрав Window New Window (Окно Новое Окно), и выбрать новую перспективу. Перспектива Java имеет набор представлений, предназначенных для ведения разработки на Java. Одно из них, расположенное в левом верхнем углу, представляет собой иерархию, содержащую различные пакеты Java, классы, JAR-архивы и разнообразные файлы. Это представление называется Обозреватель Пакетов (Package Explorer). Находясь в перспективе Java, нажмём правой кнопкой на папке src с исходным текстом проекта pro01 и выберем из меню File/New/Class (Файл. Новый Класс). В появившемся диалоговом окне введём One в качестве имени класса. Ниже надписи Which method stubs would you like to create? (Какие заглушки методов вы желаете создать?) отметим public static void main(String args) н нажмём Finish.

При этом будет создан файл One.Java с классом One и пустым методом main() в области редактора. Добавим следующий код к методу (обратите внимание, что описание для i было преднамеренно опущено):

Редактор Eclipse умеет осуществлять проверку синтаксиса и выполнять автоматическое дописывание кода. При вводе открывающей круглой скобки или двойных кавычек Eclipse автоматически вставляет для них закрывающую пару и помещает курсор в середину. В остальных случаях вы можете вызвать автоматическое дописывание кода с помощью комбинации клавиш Ctrl+1. Функция дописывания кода выдаёт контекстно зависимый список вариантов, из которого можно осуществлять выбор с помощью клавиатуры или мыши. Варианты могут представлять собой список методов, присущих конкретному объекту, или фрагмент кода, основанный на различных ключевых словах, таких как for или while.

Проверка синтаксиса зависит от процесса пнкрементной компиляции. По мере сохранения код компилируется в фоновом режиме и проверяется на наличие синтаксических ошибок. По умолчанию синтаксические ошибки подчеркиваются красным, а слева на полях появляется красная отметка. Ошибки, помеченные на полях символом электрической лампочки, редактор может исправить (функция Quick Fix).

В приведённом коде знак лампочки находится возле оператора for, так как было пропущено описание для i. Двойное нажатие мышкой на лампочку вызовет появление списка предлагаемых исправлений. В нашем случае будет предложено создать поле класса i, локальную переменную i или параметр i для метода; выбор мышкой любого го этих вариантов покажет тот код, который будет сгенерирован.

Для объекта класса Date исправим ошибку путем автоматического добавления строки import java . until . Date ; в начало программы:

После всех исправлений получим код:



Если программа компилируется без ошибок, её можно запустить, выбрав Run в меню Eclipse. Обратите внимание на отсутствие отдельного шага для компиляции, потому что компиляция выполняется по мере сохранения кода. Если в коде отсутствуют синтаксические ошибки, он готов для запуска. В нижней панели появляется новая панель с закладкой Console (Консоль), отображающая результат работы программы.

Можно также запустить программу в отладчике Java. Сначала нужно установить контрольную точку в main() с помощью двойного щелчка мышки на сером поле с левой стороны окна редактирования рядом с вызовом System.out.printf(...). В меню Run выберите команду Debug (Отладка). Произойдёт автоматическая активация перспективы отладки Debug, которая содержит целый ряд новых представлений:

Обратите внимание на представление Debug в левом верхнем углу перспективы. Это представление показывает стек вызовов и содержит панель инструментов в строке заголовка, позволяющую управлять выполнением программы. На панели имеются кнопки для продолжения (Resume), приостановки (Suspend) или завершения программы (Terminate), перехода к следующему оператору (Step Into), перешагивания следующего оператора (Step Over) или возвращения из метода (Step Return).

Панель наверху справа содержит представления Variables (Переменные), Breakpoints (Контрольные точки). Из меню Window можно открыть представления Expressions (Выражения), Display (Отображение) и т.д. Если активировать представление с закладкой Variables, можно увидеть текущее значение переменной i. Более подробную информацию о любом из представлений можно получить с помощью контекстной подсказки; для этого щёлкните мышкой на заголовке представления и нажмите клавишу F1.
Для получения исполняемого JAR файла можно использовать команду меню File.Export Java Runnable JAR file, кнопка Next, Finish.

Выполнить полученный JAR файл можно из командной строки с помощью команды Java -jar one.jar

Дополнительные возможности Eclipse

В дополнение к плагинам типа JDT, предназначенным для редактирвания, компиляции н отладки приложений, имеются плагины, поддерживающие весь процесс разработки: моделирование, автоматизацию построения, тестирование модулей, тестирование производительности, управление версиями и конфигурацией. Eclipse содержит плагин для работы с системой параллельных версий (CVS -Concurrent Versions System) для управления исходным кодом. Плагин Team (Команда) соединяется с CVS-сервером, позволяя членам команды разработчиков работать с набором файлов, содержащих исходные тексты, не вмешиваясь в изменения, вносимые другими. Плагины, которые поддерживаются и распространяются сообществом Eclipse Foundation можно найти на сайте Eclipse. Наиболее полный список имеющихся плагинов доступен на странице Eclipse Plug-in Central, которая является каталогом плагинов.

Архитектура платформы Eclipse

Платформа Eclipse содержит мощный набор плагинов, которые поддерживают различные виды проектов.

Тёмно-синие блоки обозначают компоненты, являющиеся центральной частью Платформы функционально насыщенных клиентов (Rich Client Platform - RCP) в Eclipse. Светло-голубые блоки представ.ляют рекомендуемые компоненты для включения в приложения на базе RCP. Серые блоки - необязательны.
Некоторые компоненты платформы:
- Runtime. Код, который определяет модель плагинов Eclipse, основанную на спецификации OSGi, а также на представлении о расширениях и точках расширения. Runtime также предо став.ляет дополнительные сервисы, такие как ведение системного журнала и параллелизм.
- JFace/SWT . Пакет инструментов Standard Widget Toolkit (SWT) представляет собой набор впджетов, отвечающих за пользовательский интерфейс и функции Eclipse. JFace - это просто надстройка над SWT, предоставляющая несколько классов Model-View-Controller (MVC) для облегчения разработки графических приложений.
- Workbench (Рабочее пространство). Рабочее пространство придаёт Eclipse его индивидуальность. Именно на этом уровне реализована концепция представлении, перспектив и таких элементов как окна редактирования.
- Help (Поддержка пользователей). Реализуется через справочную систему, которая позволит пользователям искать справочную документацию, либо с помощью "шпаргалок", которые для конечных пользователей могут выглядеть как интерактивные списки задач.
- Update (Обновление). Предоставляет в Eclipse средства, позволяющие обновлять приложения с одной версии на другую.
- Team (Команда). Компонент team - это инфраструктура, позво.ляюшая фирмам-разработчикам подключать свои собственные системы управления версиями. Образцом реализации провайдера является плагин CVS, встроенный в Eclipse.

По общепринятому соглашению имя класса пишется с большой буквы. Несколько слов пишутся слитно, каждое начинается с большой буквы. При написании идентификаторов методов и полей, имён ссылок на объекты используют тот же стиль, однако первая буква записывается в нижнем регистре. Примитивы final static с начальными неизменяемыми значениями (константы времени компилирования) именуются большими буквами и слова разделяются подчеркиванием (наподобие констант языка С. вводимых директивой #defme)

class VeryLongClassName {
private static final int DEFAULT_NUM = 10;
private final ArrayList items = new ArrayList();
// …
public void showBodyO {
for (Item2d item: items) {
System.out. printf ("(%.0f; %.3f) ", item.getX(), item.getY ());
} System.out. println();
}
}

Java код в библиотеках от Sun соответствует правилу размещению открывающих и закрывающих фигурных скобок, как показано выше.

С понятием платформы Java знаком чуть ли не каждый обладатель самого примитивного мобильного телефона. Среда разработки Java предполагает создание универсальных приложений, которые могут использоваться для запуска, вне зависимости от установленной операционной системы. Рассмотрим основные аспекты ее функционирования и применения.

разработки Java?

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

Грубо говоря, среды разработки языка Java без изначально установленной платформы в той же Windows работать не будут. Зато такая поддержка предусмотрена изначально, что избавляет любого юзера от необходимости инсталляции дополнительных компонентов.

Применение в компьютерной технике

Изначально данный проект был разработан корпорацией Sun Microsystems, которую позже поддержала компания Oracle.

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

Встроенные модули мобильных систем

Если говорит о смартфонах и планшетах, та же версия Java) относится только к использованию графического приложения, позволяющего создать Java-приложение за несколько минут.

На самом деле в самом приложении производится некая адресация или запрос, функции которого предусмотрены в операционной системе.

И это касается мобильных девайсов. Замечали, что иногда со временем либо Windows Phone, либо Android начинает «плеваться» в плане предложения немедленного обновления? Это не что иное, как два компонента:

  • Java Runtime;
  • Microsoft .NET Framework.

Что самое печальное, первый компонент с ошибками системы не связан. Эта платформа является полностью независимой и исполняемой в плане команд по умолчанию.

Интегрированная среда разработки JAVA: простейшее применение

То, что эта система применяется в мобильных версиях, ни у кого сомнений не вызывает. Поддерживается среда разработки Java Android, не говоря о "яблочных" продуктах.

Однако же в плане исполняемых приложений все обстоит не так просто. И вот почему.

Исполняемые апплеты

Во-первых, сразу стоит обратить внимание на систему, в которой должен быть установлен соответствующий архиватор (WinRAR - как минимум, лучше - 7-Zip).

Среда разработки Java-программ относится к тем, что данные сохраняются в виде архива, недоступного для открытия стандартными средствами Windows.

Архивируемые данные

В лучшем случае можно применить экстракторы вроде выше указанных. Но если при формировании архива использовались технологии дополнительного (максимального) метода сжатия, тут не поможешь ничем.

Даже обновление архиватора не сможет произвести нужных изменений. Тут придется применять апдейт всей платформы, хотя изначально сообщение о доступном обновлении «висит» в системном трее.

Обновление платформы

Апдейт же производится достаточно просто. Достаточно просто кликнуть в трее на мигающем значке, предлагающем инсталлировать доступное обновление. Время для распознавания может занимать до нескольких минут. Это нормально.

Если не хочется ждать, нет проблем - заходите на официальный ресурс Microsoft и скачивайте программу оттуда. Не нравится такой метод? Устанавливаем JDK или J2SE, что является расширением Java, а потом инсталлируем нужный модуль из выбранных, после чего активация происходит автоматически. По окончании процесса можеть понадобиться полная перезагрузка системы.

Почему Java не зависит от ОС?

Как уже говорилось, этот язык программирования относится к объектно-ориентированным (сродни C+/C++, на которых программируется Windows).

Но его суть такова, что виртуальная Java-машина способна транслировать команды исполняемых приложений в специальные байт-коды, распознаваемые любой компьютерной системой, независимо от ее разработчика. Одинаково хорошо среда разработки Java-программ используется и на PC, и на Intel-платформах, и на мобильных системах Android, Blackberry, iOS и других.

В самой программной среде «операционки» уже имеется встроенный модуль, отвечающий за исполнение команд языка. И он никоим образом не касается специфичных сред вроде Microsoft .NET Framework или любых других, которые производители операционных систем разрабатывают для функционирования собственных апплетов.

Мобильные девайсы

Что касается даже обычных мобильных телефонов без операционной системы на борту, в них тоже имеется изначальная поддержка этой платформы. Как правило, инсталляторы имеют расширения JAR или JAD и совершенно элементарно устанавливаются даже на примитивные телефоны.

В операционных системах можно применять архиваторы вроде WinRAR, которые распознают такие самоизвлекающиеся архивы наподобие SFX-файлов без проблем. При двойном клике на таком файле его содержимое будет экстрагировано автоматически, а архиватор вместе с платформой Java в данном случае срабатывает в фоновом режиме.

Что говорить, ведь даже старые игры на простейшие телефоны можно установить совершенно просто. Хотя и считается, что в них «продвинутые» операционные системы не используются, это не так.

Даже в самых старых моделях типа платформа есть. Иначе как бы телефон функционировал? В этой же системе, как уже понятно, есть и встроенная поддержка, которая отвечает за среды разработки Java.

Что же касается самих команд, используемых при создании приложений, их описание может занять слишком много времени. Но если уж идея создания приложения на основе этого языка все же возникла, лучше установить специализированную программу вроде платформы, предлагаемой средой Delphi очень похож).

Заключение

Как видим, среда разработки Java является универсальной и совместимой с любыми системами. Но работает она намного быстрее, нежели трансляция команд на основе C+/C++. Согласно некоторым исследованиям, скорость работы может быть выше в 20-30 раз, хотя потребление ресурсов памяти находится на отметке рангом выше.

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

Отдельно стоит сказать, что последние версии Java основаны на поддержке средств обобщенного программирования, в основу которых положены технологии Eiffel и C#, кардинально отличающиеся от средств C++. Тут можно использовать автоматическое преобразование скалярных типов данных и импорт так называемых статических полей, не говоря уже о возможности создания сопутствующей документации с исходным кодом.

В версии Java SE 6 реализовано множество новых функций, которые включают в себя даже распознавание японского и буддистского календарей, возможность создания полноценного HTTP-сервера, ускоренную передачу класс-потоков и сжатых данных с повышением производительности до 70 %, не говоря уже о панели мониторинга JConsole, поддерживающей OpenGL и DirectX.

Это касается в основном графических адаптеров, хотя и может относиться к использованию даже аудиоустройств (чаще всего виртуальных на основе драйверов ASIO4ALL). То же самое касается и некоторых программных синтезаторов или MIDI-клавиатур. Но использование исполняемых Java-апплетов предусмотрено не всегда.