Введение в язык Java. Настройка среды разработки

14.07.2019

Почти все книги и уроки по Java для новичков начинаются с описания ООП: какой он замечательный с великолепный. Понятно, поскольку в Яве просто невозможно любое другое программирование, кроме как объектно-ориентированное, то вначале предлагается освоить 40..80 страниц безумных аналогий с иерахией кошечек/собачек/уточек/автомашин, и только после этого предлагается написать «Hello, World!». :-)

При этом стоит заметить, что абсолютно всё обучение Java строится на примитивнейшем выводе результата на консоль. То есть не консольное приложение в привычном понимание, а именно вывод каких-то данных построчно. Ну вот например Turbo Pascal 3.0 вышел в 1985 году и в нём уже была поддержка графических режимов. В 1990 году появился Turbo Vision - очень крутая вещь - аля-Windows только для DOS. А в Яве в 2018 году возможен только вывод на консоль. И вот вся эта восторженность и крутость как-то вдребезги разбивается уже на этапе «Hello, World!»... Хуже наверное это только развлекаться на программируемом калькуляторе МК-61 или МК-52 - а что? там такой же построчный вывод.

Но, самое забавное - это то, что на Java реально можно создавать программы используя визуальное программирование! Я об этом узнал только когда прочитал (или скорее ознакомился) с 500 страничной книгой, где в одной из последних глав, вдруг выяснилось, что для Java существуют нормальные GUI (графические интерфейсы пользователя) и можно оформлять программы с кнопочками, полями ввода и нормальными меню. Спрашивается: зачем вы столько времени «мурыжили» эту паршивую консоль, когда можно было сразу всё делать красиво и аккуратно?

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

Первый - GUI для Java есть трёх видов (библиотек): AWT , Swing (кто придумывает такие названия?) и JavaFX .

На сегодняшний день (Java 8 и 9) все они входят в комплект поставки JDK: то есть всё работает из коробки и не нужно заморачиватся с их установкой. Это большой плюс.

Но, AWT - это первая и очень старая реализация, поэтому её использовать не нужно. В общем - некошерно. Swing - тоже некошерно, поскольку там что-то не так замутили и программы из-за него жутко тормозят. Точнее не скажу, не разбирался, но вроде как она официально больше не развивается несколько версий. А вот JavaFX - это гуд и наше светлое будущее.

Есть ещё такая мерзость - java-апплеты , те которые работают в браузере и при этом его намертво «вешают», примерно как Flash, только ещё хуже. К счастью эту/эти штуку/штуки практически уже не используют, поэтому тратить время на их изучение бессмысленно.

Так что единственное на что стоит потратить время - это JavaFX.

Второй момент . Всё не так просто. Рассмотрим Delphi (или Visual Studio, Lazarus, не важно). Даже для «зеленого» новичка создание простой программы (одна кнопка и текстовое поле для вывода) будет происходить так:

  • запускаем Delphi;
  • автоматом создается новый проект с главной формой;
  • выбираем на палитре компонентов кнопку и размещаем на форме; всё визуально
  • аналогично кидаем на форму текстовое поле;
  • при необходимости в панели свойств можно указать текст кнопки, размеры и т.п.;
  • запускаем - Delphi предложит сохраниться, сохраняемся.

То есть мы не написали ни единой строчки кода, IDE - всё сделала сама. Если посмотреть на сгенерированный код, то назвать его простым нельзя - здесь уже требуются определенные знания, но Delphi достаточно умна, чтобы понимать как с ним работать.

Если мы захотим добавить какое-то действие, например при нажатии на кнопку, заполнять текстовое поле фразой «Привет!», то делаем так:

  • два раза кликаем на кнопку (или выбираем событие onClick);
  • Delphi создает код обработчика этого события и перекидывает нас в редактор;
  • набираем название текстового поля и Delphi выдает подсказки, по которым можно соориентироваться что и как делать.

То есть опять же, IDE выполнила всю черновую работу.

Но это в других языках, Java идёт своим путём. Чтобы создать кнопку в JavaFX нужно вручную создать Stage - «театральные подмостки» (название на полном серьёзе!) и на них разместить сцену (Scene). К ней какой-нибудь контейнер в который уже вкладывается прочие элементы.

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

Response = new Label("Push a Button"); Button btnUp = new Button("Up"); Button btnDown = new Button("Down"); btnUp.setOnAction(new EventHandler() { public void handle(ActionEvent ae) { response.setText("You pressed Up."); } }); btnDown.setOnAction(new EventHandler() { public void handle(ActionEvent ae) { response.setText("You pressed Down."); } }); rootNode.getChildren().addAll(btnUp, btnDown, response); ...

Когда кнопок наберется с десяток, плюс 20 пунктов меню, плюс 30 других компонентов, то код маленьким не покажется. И это ещё без кода, который отвечает за дополнительные свойства, например выравнивание, размеры, шрифт... И вот это второе указывает на то, что обучалки по JavaFX как раз и показывают как писать «fx-код» ручками. Тоска, одним словом...

Но, тут возникает спасительный третий нюанс . Оказывается умные люди (видимо знакомые с полноценными IDE), разработали другой вид приложений, где для генерации «fx-кода» используется описательный xml-файл, который называется fxml , а такие программы менуются как «Приложения FXML JavaFX »

Для меня совершенно удивительно то, что обучение Java не начинается именно с таких приложений. Пусть это не Delphi, но всё-равно это в миллион миллионов раз лучше, чем работать с консолью и забивать себе голову прочим хламом о том, почему нужно использовать стопицот строк с ООП там, где в других языках на это уходит одна простенькая процедура. ;-)

Теперь серьёзно. Если вы никогда не программировали на Java, то можете попробовать сделать это прямо сейчас. На самом деле - это довольно круто, хотя потребуется немного потратить время, чтобы освоится с программами. Если у вас есть опыт работы с «визуальными IDE», то ещё лучше - встретите много знакомого.

JDK

Ява должна быть установлена на компе. Я не буду приводить ссылки как это сделать - гугл в помощь, поскольку всё слишком просто.

IDE

В Яве нет какой-то одной программы - среды разработки, поэтому в Сети встречаются примеры из разных программ. Самые примитивные, вроде Notepad++ годятся только для консольного вывода, но если рассматривать что-то более серьёзное, то выделяются только три кандидата: NetBeans , Eclipse и IntelliJ IDEA .

NetBeans - самая простая программа, которая быстро (относительно остальных) запускается и довольно сносно работает.

Eclipse - тоже неплохой вариант, более мощный чем NetBeans, но слабее чем IntelliJ IDEA.

IntelliJ IDEA - выглядит самой крутой, но за это приходится платить скоростью работы. Стоит отметить, что Android Studio базируется на IntelliJ IDEA, но студия работает почему-то значительно медленней.

Важный момент связан с программированием под Андроид. Из этих трех IDE только IntelliJ IDEA для этого более-менее годится. В Сети масса материалов о программировании под Андроид в Eclipse, но они все уже устаревшие - не тратье время, запуская старенький ADT-плагин и пытаясь хоть что-то с ним сделать. Может быть старый Android SDK и будет работать, но все новые - уже нет.

Я покажу как сделать приложение FXML JavaFX во всех трёх программах, но прежде чем приступать, нужно установить ещё одну программу: SceneBuilder (используйте версию для Java 8). Это ключевая программа, где, собственно и выполняется всё визуальное построение. SceneBuilder самостоятельно может работать без IDE, поэтому можете её запустить и посмотреть как она устроена. На выходе будет fxml-файл, который содержит всю нужную разметку. Этот файл и используется в IDE, вместо написания мегатонны кода. :-)

ТЗ

Создаваемая программа будет очень простой - кнопка и текстовое поле. При нажатии на кнопку в текстовое поле пусть добавляется текст «Привет!».

В каждой программе вам нужно заранее прописать настройку - используемую JDK. Если не можете понять как это сделать, гуглите.

NetBeans

Перед началом работы, нужно подключить SceneBuilder: Сервис - Параметры - Java - JavaFX - Начальная страница Scene Builder . Выберите каталог программы. Настройку достаточно сделать один раз. Это относится ко всем IDE.

Создаём новый проект, где нужно выбрать «Приложение FXML JavaFX».

Жмём «Готово» и, после некоторой работы NetBeans, видим готовые файлы:

  • Myfx.java - это main-файл, который, собственно и запускает всю программу.
  • FXMLDocumentController.java - это «контролёр», где и будет в основном программирование.
  • FXMLDocument.fxml - этот файл хранит визуальную часть.

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

Это круто, потому что мы не написали ни строчки кода, но уже получили программу с работающей кнопкой. :-)

Если вы правильно указали путь к SceneBuilder, то можете выбрать пункт меню «Открыть» на файле FXMLDocument.fxml . Это же самое произойдёт если сделать двойной клик. Откроется SceneBuilder. Если пункта нет, то путь указан не верно, проверьте настройку.

Принцип работы в SceneBuilder един для всех IDE, поэтому пока я опишу только общие моменты, дальше вы уже сами сообразите.

Стоит отметить, что после редактирования файла, закрывать SceneBuilder не нужно. Достаточно только сохраниться (Ctrl+S) и переключиться на IDE - она сама подхватит изменения.

Окно SceneBuilder разделено на три части:

  • слева - наборы компонентов, иерархия и Controller, где указывается основной класс (это важно!)
  • в центре - сама форма, где и происходит визуальное построение.
  • справа - свойства компонентов, разделенные на три закладки (это условное деление). Вкладка Code отвечает за то, что будет использоваться в java-файле.

Построение FX-программ должно начинаться с контейнера. В данном примере NetBeans использовал AnchorPane . Он довольно удобный, позволяя настраивать для вложенных элементов «правильные» отступы. Вкладка Containers содержит другие контейнеры, с которыми вы сможете самостятельно потренироваться (я и сам ещё и половины не освоил:-)).

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

По условиям ТЗ у нас должно быть текстовое поле. NetBeans использует Label, но мы не будем ничего удалять, а просто добавим новый элемент TextField на форму (произвольно на ваш вкус).

В SceneBuilder возможен предварительный просмотр (Ctrl+P). В этом режиме отображается только форма и все элементы «без java-программирования».

Теперь важный момент: для того чтобы можно было использовать компонент в java-программе (в нашем коде), следует выполнить две вещи.

Первая - проверить, что указан верный контролёр. В нашем случае NetBeans сам уже всё сделал и указал myfx.FXMLDocumentController .

Как видно - это контролёр из файла FXMLDocumentController.java (пакет.контролёр). Не всегда IDE его указывают, но это важно, поскольку fxml-файл (точнее java-код) использует его для привязки.

Второй момент - используемый компонент должен иметь свой ID - это параметр fx:id . Здесь я указал textField1 .

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

У кнопки, которая будет заполнять текстовое поле, тоже должен быть свой id, а также метод события onAction (это основное событие компонента, а не onClick, как в Delphi). NetBeans уже об этом позаботился, поэтому нам ничего не придется писать.

На этом визуальное построение можно завершить. Сохраняемся и переключаемся в NetBeans. Видим, что файл FXMLDocument.fxml изменился: добавился textField1 :

Теперь нам нужно как-то использовать текстовое поле в java-коде. В отличие от Delphi, NetBeans не создаёт для этого никакого кода, потому нам придётся добавлять его в «полу-ручном» режиме. Для этого в разных IDE используются различные способы, но общий принцип в том, что нужно установить курсор на нужное поле в редакторе и выполнить некое «действие» . В NetBeans оно называется Установить контролер в меню Источник . (Да в Яве большие проблемы с именованиями...)

После выполнения этой команды, произойдет переход к файлу FXMLDocumentController.java , где в код будет добавлено объявление переменной textField1 :

Обратите внимание на «@FXML» - эта аннотация указывает, что код как-то используется в FXML. После этих изменений SceneBuilder уже не будет выдавать предупреждение, как желтый треугольник ранее. Если ещё раз запустить SceneBuilder, то это можно проверить.

Запускаем программу на выполнение для теста. Теперь наша задача по клику на кнопке заполнить текстовое поле. Как вы уже поняли метод handleButtonAction как раз и выполняет нужную работу. В нём дописываем:

TextField1.setText("Привет!");

Обратите внимание как работает автодополнение кода после того, как будет нажата точка.

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

Данная возможность присутствует по всех IDE, хотя есть различия в реализации и использовании.

Запускаем программу и видим, что всё работает как нужно.

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

Eclipse

Запуск Eclipse происходит несколько дольше, чем NetBeans. Вначале нужно указать путь к SceneBuilder. Делается это в Window - Preferences - JavaFX .

Обратите также внимание на то, что Eclipse неруссифицированная программа (даже не знаю, есть ли к ней руссификатор).

Создаём новый проект и выбираем JavaFX.

Жмем Next и попадаем на страницу настроек. Здесь я указал название проекта, как и прежде myfx (у меня для разных IDE разные каталоги проектов, поэтому они не пересекаются друг с другом).

Здесь нужно выбрать тип приложения, тип контейнера и имя контролера. Жмем Finish и Eclipse быстро генерирует каркас нашей будущей программы.

Здесь всё очень похоже, только добавлен еще один файл application.css - да, да, в JavaFX можно использовать CSS для настройки оформления! Eclipse сразу сгенерировал для этого файла код подключения.

Запустим программу и убедимся, что нет ошибок.

В отличие от NetBeans, здесь совершенно пустая форма. Откроем её в SceneBuilder с помощью контекстного меню.

И здесь мы видим, что формы нет. Но, на самом деле она есть - просто по умолчанию используется вычисляемый размер (высота и ширина), который в данном случае равен нулю. Компонентов-то нет! В нашем случае это не совсем то, что нужно, поэтому мы выберем BorderPane в иерархическом списке и в свойствах Pref Width и Pref Height укажем какие-то значения. Эти свойства задают «желаемые» ширину и высоту. После этого форма сразу же «проявляется».

Контейнер BorderPane состоит из 4-х частей: top, right, bottom, left и center. Компоненты следует помещать в разные части - от этого будет зависеть их положение при изменении размера окна.

Здесь довольно сложно объяснить словами, просто попробуйте разместить несколько кнопок, а после в предварительном просмотре измените размеры окна.

Я не стал особо мудрить и разместил вверху текстовое поле, а в центре кнопку.

Теперь проверим, что указан контролёр: в данном случае application.SampleController - Eclipse выполнил эту работу за нас.

Теперь нужно указать id у наших элементов. Для кнопки я задал btn1 , а текстовому полю textField1 . У нас опять же возникло сообщение «желтый треугольник».

Для кнопки укажем метод на событие - btn1Click .

Сохранимся и вернёмся в Eclipse. Мы увидим, что файл Sample.fxml обновился, но рядом с некоторыми строками появились значки предупреждения.

Ситуация здесь точно такая же как и в NetBeans - нужно в «полу-ручном» режиме вносить правки. В Eclipse для этого используется контекстное меню по второй кнопке мыши: Quick Fix или горячая клавиша Ctrl+1 (что удобней).

При этом выскакивает подсказка о предполагаемом действии. Например для textField1 предлагается добавить идентификатор в контролёр:

а для кнопки ещё и метод-обработчик события:

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

Добавим наш код как и раньше мы сделали в NetBeans.

Обратите внимание на более интелектуальную работу автодополнения. В автоматическом режиме он немного подтормаживает, но если нажать Ctrl+Пробел (эта же комбинация используется во многих IDE), то позволяет получить и неплохой хелп.

Запускаем нашу программу.

И записываем себе на счёт ещё одну IDE. :-)

IntelliJ IDEA

IntelliJ IDEA запускается довольно неспешно, можно успеть проверить почту. :-)

Опять же указываем путь к SceneBuilder: File - Settings :

И указываем его имя (как обычно - myfx):

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

Здесь также пустая форма, но зато указан заголовок программы. Если посмотреть на код Main.java , то увидим строчку:

PrimaryStage.setTitle("Hello World");

Это и есть заголовок приложения. В других IDE эта строчка отсутствует, но зато теперь мы знаем для чего нужны «театральные подмостки». ;-)

Переключаемся в SceneBuilder (аналогично Eclipse): второй кнопкой мыши нужно выбрать Open in SceneBuilder .

Здесь также пустая форма, но с контейнером GridPane . Устанавливаем Pref Width и Pref Height , чтобы отобразилась форма.

Сам по себе GridPane представляет собой аля-сетку из ячеек для элементов. Думаю, что тут нет смысла повторяться - все действия будут аналогичными:

  • разместить кнопку и тестовое поле,
  • присвоить им id,
  • для кнопки прописать метод для обработки клика,
  • не забываем проверить, указан ли контролёр (sample.Controller ).

Закрываем SceneBuilder и возвращаемся в IntelliJ IDEA. Здесь нужно добавить идентификаторы id в код, а также создать метод для реакции на нажатие кнопки.

IntelliJ IDEA предлагает для этого два способа. Первый - при наведении мышки на «проблемное место» будет появляться подсказка, на которую можно кликнуть:

Второй - горячая клавиша Alt+Enter

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

При этом, заметьте, не добавляется строчка «@FXML». Если мы вручную его добавим перед переменными и методом, то IntelliJ IDEA сразу предложит добавить нужный java-класс:

Вообще IntelliJ IDEA показывает достаточно хорошую сообразительность и выступает помощником в написании кода. Причём делает это самостоятельно без лишних нажатий кнопок.

Ну что ж, добавляем свой код для обработчика и запускаем программу:

Прекрасно, всё работает!

Итого

Главный вывод - на Яве возможно визуальное программирование . Может оно и не идеальное, но вполне годное, особенно для новичков. Изучать язык гораздо интереснее, когда есть какой-то осязаемый результат - ООП, классы и прочие премудрости - это хорошо, но лучше начать с кнопочек, полей ввода, меню и всего того, что подразумевает нормальная программа. А консоль - это скучно и неинтересно.

Три IDE я привел не случайно. В Сети очень много примеров для Явы и все они для разных программ. Лично я ещё не определился со своим предпочтением, поскольку у всех есть как плюсы, так и минусы. Наверное нужно поработать со всеми, тогда и будет понятно.

Но, ключевой момент - это умение работать с SceneBuilder. Построение формы в JavaFX немного отличается от той же Delphi, в первую очередь в использовании сложных контейнеров (они могут быть вложенными друг в друга). Поэтому вначале следует разобраться с ними, после уже можно браться за сами компоненты.

Мы постарались объять необъятное, вспомнив несколько наиболее популярных и универсальных сред разработки. Опыт получился не слишком удачным, поэтому в этот раз мы сконцентрируемся только на одном языке, а именно Java. Если вы только начинаете знакомиться с ним, рекомендуем пройти .

Учредив 7 номинаций, субъективно определим лучшие из лучших:

Лучшая бесплатная IDE: NetBeans

NetBeans - мощнейшая среда разработки с открытым исходным кодом, ориентированная на интернет, мобильные и настольные приложения. Работает с Linux, Windows, MacOS и даже Oracle Solaris.

Несмотря на то, что NetBeans позволяет работать на нескольких языках, в среде разработчиков она считается Java-ориентированной. Она прекрасно взаимодействует с JPA, JSP, Struts, Spring и библиотекой Hibernate.

Лучшая коммерческая IDE: IntelliJ IDEA

По правде говоря, IntelliJ IDEA распространяется в двух версиях, одна из которых совершенно бесплатная - Free Community Edition. Причём для начинающего разработчика данного пакета хватит с головой. В частности, IDE Android Studio, речь о которой пойдёт чуть позднее, основана именно на этой версии.

В платной же версии вы получаете поддержку фреймворков Spring (Spring MVC framework, Spring Security, Spring Boot, Spring Integration и т. д.), Node.js, Angular React, Grails, возможность использовать дополнительные языки (javascript, typescript, coffeescript) и взаимодействовать почти со семи популярными серверами (Tomcat, TomEE, GlassFish, JBoss, WildFly, Weblogic, WebSphere, Geronimo, Virgo и т. д.).

Самая популярная IDE: Eclipse

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

Cамая универсальная IDE: JDeveloper

Ещё один продукт от Oracle с массой преимуществ, среди которых поддержка системы контроля версий и облачного сервиса Oracle, он упакован SQL Developer, PL / SQL обработчиком запросов, WebLogic Server, редакторами HTML, CSS, JavaScript, JSF, JSP, WSDL и ещё огромным количеством всевозможных полезностей.

Лучшая для Android: Android Studio

Было бы странно, если победителем в этой номинации стала какая-нибудь другая IDE. Помимо всех возможностей, который вам дарит исходная IDE IntelliJ IDEA, Android Studio включает в себя немало надстроек от Google, как чисто визуальных (макеты, форматы, GPU профайлер), так и функциональных (JUnit 4 и Firebase Test Lab для тестирования и отладки, система сборки Gradle, Instant Run).

Лучшая IDE для обучения: DrJava

Именно к такому выводу пришла команда разработчиков под названием JavaPLT, представляющие университет Райса. Оно и неудивительно, учитывая, что DrJava - их детище. Впрочем, оставив шутки в стороне, стоит признать, что DrJava действительно прекрасно подойдёт новичкам, ведь данная IDE даже не ставит своей целью соперничество с выше названными. Главное её преимущество - предельно быстрая настройка и переход к непосредственному написанию кода. В качестве конкурентов можно на схожих условиях рассмотреть BlueJ, JGrasp и Greenfoot.

Самая перспективная IDE: MyEclipse

Приветственная надпись на странице скачивания гласит “The best Java EE IDE enhanced for the full stack developer”. Что ж, это весьма нескромно, совсем не подкреплено фактами, но по правде говоря - недалеко от истины. В сущности, MyEclipse - это Eclipse, где всё изначально “привинчено”, “допилено” и ещё немного расширено. К услугам разработчика предлагается несколько версий, две основные - стандартная и профессиональная. Стандартная - это как раз Eclipse в новой оболочке, а Professional содержит мобильный веб-симулятор, редактор картинок, UML-редактор, шаблоны, надстройки - в общем, всё, что сделает создание продукта значительно проще.

А чем пользуетесь вы?

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

Здесь два пути: либо осуществлять работу с JDK непосредственно через командную строку, либо использовать интегрированную среду разработки. Рассмотрим оба этих варианта.

Компиляция исходного кода через командную строку

Один из вариантов - это весь программный код вести в текстовом редакторе, а затем через командную строку компилировать исходный Java - код в байт - код и после этот байт - код запускать.

Ниже представлена последовательность действий:

1. Сохраняем наш исходный код в формате *.java (рисунок 2.1).

2. Запускаем командную строку и входим в папку с исходным Java - кодом (рисунок 2.2).

3. При помощи команды Javac, компилируем исходный Java - код в байт - код (рисунок 2.3).

4. Запускаем байт код при помощи команды Java (рисунок 2.4).

Рисунок 2.1 - Сохранение исходного кода

Рисунок 2.2 - Путь до папки в командной строке

Рисунок 2.3 - Компиляция в байт - код

Рисунок 2.4 - Запуск байт - кода

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

Java IDE

Компилировать Java код из командной строки может показаться обременительным занятием, но, тем не менее, это важнейшее умение. Выполняя базовые шаги работы с JDK самостоятельно, можно получить лучшее представление о том, как работает среда разработки. Чаще всего, крайне рекомендуется перед тем, как устанавливать какое - либо IDE (integrated development environment), научиться работать с Java JDK через командную строку.

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

За последнее время такие среды стали настолько мощны и удобны, что теперь просто нет особого смысла обходиться без них.Самые распространенные IDE для Java на сегодняшний день - это: Eclipse, NetBeans и IDEA. У каждой из данных сред д есть свои преимущества и свои недостатки. Лично я остановился на IDE Eclipse по некоторым причинам. Во-первых, у данной среды весьма удобные горячие клавиши. Под нее в свободном доступе находится огромное количество инструментов для разработчика. Даже такая крупная корпорация, как Google лично написала для Eclipse немало инструментария. При разработке,например, под ОС Android, лучшую IDE найти сложно - для Eclipse в свободном доступе находится весьма мощный Android SDK, на котором было разработано не одно поколение Android приложений.

Для того, чтобы скачать данную IDE, стоит перейти по ссылке http://www.eclipse.org/downloads/ и выбрать одну из предложенных решений (рисунок 2.5).

Рисунок 2.5 - Предлагаемые решений Eclipse

Всего предлагается около двенадцати решений для разработчиков различных направленностей. Как видим, выбор достаточно велик. Для своей задачи, я выбрал стандартный пакет Eclipse Standart. Далее выбираем нужную операционную систему с архитектурой (рисунок 2.6) и начинается бесплатное скачивание данной среды.

Рисунок 2.6 - Выбор нужной ОС и архитектуры

Как создать лучшее Java-приложение , которое будет быстрым, стабильным и надежным? Для этого потребуется не только опытный разработчик с отличными навыками программирования, но и правильная среда разработки Java .

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

  • NetBeans — лучшая Java-IDE , развиваемая Oracle ();
  • IntelliJ IDEA — лучшая IDE для Java — разработчиков (премиум Java-IDE );
  • Eclipse — популярная IDE для Java-разработчиков (бесплатное программное обеспечение );
  • Android Studio — Java-IDE , предназначенная для Android-разработчиков ;
  • JDeveloper — бесплатная IDE для упрощения разработки Java-приложений ;
  • DrJava — компактная среда разработки Java-программ ;
  • JEdit — продвинутый редактор кода для Java-разработчиков ;
  • MyEclipse — Java-IDE полного стека для веб-разработки;
  • JCreator — простая IDE для Java-разработки ;
  • GreenFoot — онлайн Java-инструктор и IDE .

Топ 10 Java IDE для быстрой веб-разработки

  1. NetBeans — лучшая Java-IDE, развиваемая Oracle (бесплатное программное обеспечение)

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

С помощью NetBeans можно создавать не только корпоративные веб-приложения, но и мобильное программное обеспечение, приложения для ПК. Кроме этого NetBeans позволяет повторно использовать рабочее пространство проекта на нескольких платформах, таких как Windows , Linux , Mac OS X и Solaris от Oracle .

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

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

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

Стоит уделить внимание инструменту Maven , поддерживаемому NetBeans . С его помощью добавление зависимостей производится всего в несколько кликов. Это позволяет избежать лишней загрузки / перестроения индексов.

Давайте посмотрим, за что еще NetBeans считается одной из лучших Java IDE .

Она поддерживает HTML5 , CSS3 , JavaScript (ES 5/6) и Angular JS . NetBeans также поддерживает автоматической завершение для этих языков, а также директивы Angular .

NetBeans позволяет разрабатывать мобильные приложения с помощью таких платформ, как Cordova и PhoneGap . А также с помощью GlassFish и WebLogic развертывать любые веб-приложения и тестировать конечный функционал. Они добавляют к основным возможностям ядра поддержку Java 8 .

NetBeans поддерживает все популярные веб-приложения (Spring / Struts / Wicket ) и библиотеки, такие как PrimeFaces , RichFaces , ICEfaces .

  1. IntelliJ IDEA — лучшая IDE для разработчиков Java (премиум Java-IDE)

Быстрый и надежный инструмент для веб-разработки на Java . Эту среду разработки для Java под Windows развивает компания JetBrains . Она постоянно обновляет и дополняет ее, чтобы она соответствовал потребностям рынка.

IntelliJ IDEA поставляется в двух редакциях. Бесплатная версия предназначена для студентов, преподавателей и разработчиков плагинов. Платная — для организаций, разрабатывающих коммерческие приложения.

IntelliJ Community Edition

Бесплатная версия поддерживает такие платформы, как Android , Swing и JavaFX , Java , Groovy , Kotlin , Scala , Go , Dart , Erlang и Python .

Кроме этого данная IDE является довольно компактной и содержит несколько других функций, таких как выполнение тестов JUnit / TestNG , отладка, автоматическое завершение кода, проверка кода, рефакторинг кода, Ant и визуальный графический редактор GUI .

Также можно воспользоваться четырьмя типами систем контроля версий: Git / GitHub , SVN , Mercurial и CVS . Доступен плагин Docker , обеспечивающий поддержку развертывания веб-приложений. Бесплатная версия также включает в себя Decompiler и ByteCode для выполнения расширенного анализа.

IntelliJ Ultimate Edition

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

Это превосходная среда разработки Java , поддерживающая многие языки программирования, например JavaScript , TypeScript , SQL , CSS , LESS , Sass , Stylus , CoffeeScript , ActionScript , Ruby и PHP .

Для профессиональной веб-разработки вам понадобится версия Ultimate . Она объединяет в себе такие фреймворки, как Spring MVC , J2EE (JSF / JAX-RS / CDI / JPA ), Grails , Griffin , React , Angular JS , Node.js , Django , Flask , CMS (Drupal / WordPress / Laravel ).

Платная версия имеет дополнительную поддержку контроля версий, например, TFS , Perforce , ClearCase и Visual SourceSafe . В ней доступно множество вариантов настройки стратегии развертывания с использованием Tomcat , TomEE , GAE , GlassFish , JBoss , WebLogic , WebSphere , Geronimo , Jetty и Virgo .

В этой версии реализована поддержка NPM , WebPack , Gulp и Grunt . Она включает в себя такие инструменты, как диаграммы (UML / Dependencies ), матрица зависимостей.

  1. Eclipse — популярная IDE для Java-разработчиков (бесплатное программное обеспечение)

Это современная, кросс-платформенная и свободно распространяемая IDE с открытым исходным кодом, доступная для корпоративной веб-разработки. В 1998 году IBM Software Group решила создать IDE , которая смогла бы закрепиться на рынке и стать одним из его лидеров. Это привело к созданию Eclipse .

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

Eclipse обладает всеми необходимыми функциями, которые должна иметь идеальная Java IDE :

  • Поддержка Java 8.0 и 9.0 ;
  • Рефакторинг кода, редактирование кода с проверкой запроса, инкрементная компиляция, перекрестные ссылки, автоматическое предложение вариантов кода;
  • Интегрированный статический анализ кода;
  • Интеллектуальное завершение кода и быстрое исправление;
  • Удобство и производительность;
  • Поддержка Windows / Linux / Mac OS X .

Актуальная на данный момент версия среды разработки для языка Java — Neon . В ней было реализовано много новых функций:

  • Редактор Java показывает шаблон по умолчанию для размещения +ve / -ve проверок;
  • Теперь IDE помогает классифицировать уровень опасности для конкретных ошибок в коде;
  • Code Assist поддерживает шаблоны подстроки;
  • Появилась возможность настраивать нулевой анализ на основе аннотаций для использования нескольких наборов типов аннотаций;
  • Теперь отладчик принимает дополнительные аргументы отладки, а просмотр ресурсов операционной системы позволяет использовать в отладке информацию о процессах;
  • Моделирование позволило внести значительные улучшения в генерирование кода, редакторы моделей, сравнение моделей и пользовательские графические редакторы.

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

  1. Android Studio — Java IDE, созданная специально для Android-разработчиков

Современная IDE для разработки приложений Java и Android . Это относительно новый продукт, выпущенный в середине 2013 года. Созданная на базе IntelliJ IDEA , Android Studio обеспечивает оптимальные условия для разработки дизайна и рабочего кода.

Основное предназначение инструмента — ускорение процесса разработки приложений для любого Android-устройства . До его выхода разработчикам приходилось полагаться на Eclipse и плагин ADT . Из-за этого операционная система Android отставала от Apple . После выхода Android Studio популярность Android выросла.

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

Крутые функции среда разработки Java для Android :

  • Мгновенное обновление и запуск, чтобы изменения кода немедленно вносились в запущенное приложение без его перезапуска;
  • Встроенный эмулятор легко устанавливается и запускает приложения на различных конфигурациях устройств;
  • Редактор нового поколения позволяет писать качественный код, экономит время и повышает производительность разработки; Можно использовать расширенное автоматическое завершение кода, рефакторинг и проверку кода;
  • Встроенная система сборки (Gradle ) помогает в автоматизации сборки, формировании зависимостей и подготовке пользовательских конфигураций сборки;
  • Gradle — это система сборки под различные устройства. Она позволяет создавать приложения, работающие на всех Android -устройствах;
  • Простая интеграция с системами контроля версий, например, GitHub и SVN ;
  • Возможность подготовки сборки для исполнения на сервере CI , таком как Jenkins и Bamboo ;
  • Шаблоны готового кода помогают упростить и ускорить разработку приложений;
  • Можно проверить свое приложение с помощью JUnit 4 и регрессировать пользовательский интерфейс с помощью Espresso Test Recorder ;
  • Отслеживание ошибок в коде с помощью встроенного инструмента анализа;
  • Также доступны другие встроенные инструменты, такие как Layout Editor , Vector Asset Studio , APK-анализатор и редактор переводов.
  • Android Studio — это одна из лучших сред разработки Java , которую стоит попробовать для разработки как стационарных, так и мобильных приложений.
  1. JDeveloper — бесплатная среда для упрощения разработки Java-приложений

Мощная Java IDE с открытым исходным кодом от Oracle . Она поддерживает все этапы создания приложения.

JDeveloper включает в себя усовершенствованный редактор кода, который повышает скорость разработки с помощью аудита кода, интегрированного модульного тестирование и профилирования. Также визуальный редактор можно использовать для программирования на SQL , XML , PHP , JavaScript , HTML и CSS .

JDeveloper оптимизирована для управления приложениями J2EE , базами данных, веб-службами REST / SOAP , мобильными приложениями, компонентами и приложениями Oracle Fusion Middleware .

Данная IDE содержит ряд встроенных инструментов для ускорения разработки. Один из них — интегрированный сервер WebLogic , который позволяет запускать, тестировать и отлаживать J2EE-приложения . А также браузер SQL и редактор PL / SQL , которые помогут в построении запросов, просмотре баз данных и создании отчетов; редактор WSDL , который ускоряет разработку SOAP и REST .

JDeveloper также включает в себя два инструмента отслеживания — встроенные генераторы схем XSD / XML и инструменты для запуска тестов.

  1. DrJava — простая среда для разработки Java-программ

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

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

IDE поддерживает Java 8 и более новые версии. И еще одно полезное дополнение — интеграция с инструментом Jacoco для охвата кода. Когда вы запускаете модульные тесты, он генерирует отчеты, содержащие в себе ссылки, указывающие на охват кода.

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

  1. JEdit — продвинутый редактор для Java-разработчиков

Интуитивный редактор кода, используемый Java-программистами на протяжении многих лет. Он поддерживает Mac OS X , OS / 2 , Unix , VMS и Windows .

Как и в случае с Eclipse , для разработки JEdit использован язык программирования Java . И это также одно из лучших Java-приложений , доступных для свободного использования на основе лицензии GPL 2.0 .

UDE предлагает ряд современных функций:

  • JEdit включает в себя встроенный язык создания макросов для автоматизации любой повторяющейся задачи. Также можно использовать доступные макросы;
  • JEdit-пакеты с интерактивным менеджером плагинов для поиска и загрузки необходимых плагинов.
  1. MyEclipse — полноценная Java IDE для веб-разработки

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

Данная среда разработки для языка Java поддерживает корпоративную разработку, веб-разработку и веб-разработку полного цикла.

Рассмотрим функции, которые она предоставляет:

  • Расширенная поддержка J2EE для всех известных фреймворков, таких как Spring , JPA , JSF , Jquery и Cordova ;
  • Интеллектуальное редактирование кода с подсказками, мгновенная проверка, подсветка синтаксиса, удобная справка (панель инструментов с хлебными крошками и мини карта );
  • Полное управление циклом развития проекта;
  • Встроенная поддержка MySQL , SQL Server и Sybase ;
  • Встроенный WebSphere для запуска, тестирования и отладки приложения «на лету »;
  • Другие серверы приложений, такие как WebLogic , Apache Tomcat , GlassFish и Derby , поддерживаются по умолчанию из коробки;
  • Создание динамических веб-приложений с использованием TypeScript и Angular 2 (ES6 );
  • Тонкая поддержка для разработки и тестирования RESTful веб-сервисов;
  • Возможность предварительного просмотра результата исполнения кода с помощью встроенного инструмента CodeLive . Также можно перейти к источнику любого элемента на веб-странице;
  • Кроссбраузерное тестирование и поддержка мобильных эмуляторов;
  • Обсуждение обновлений кода через интеграцию Slack .

MyEclipse содержит функции, которые могут повысить производительность любого Java-разработчика.

  1. JCreator — простая среда для Java- разработки

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

Развитием JCreator занимается IT-компания Xinox Software . IDE доступна в двух вариантах: Lite версия с ограниченными возможностями и Pro edition с полным набором функций.

JCreator включает в себя множество полезных функций:

  • Интерфейс Easy Project Management похож на Visual Studio ;
  • Пользовательская цветовая схема для организации кода;
  • Возможность настроить и использовать в проектах нескольких профилей JDK ;
  • Выбор шаблона проекта для быстрого запуска;
  • Поддержка средств сборки и управления версиями, таких как Ant и CVS ;
  • Возможность запускать приложение как апплета с помощью JUnit или в терминале;
  • Встроенные инструменты для вызова внешних функций и утилит. форматирование Java-кода , компилятор RMI .

При создании этой IDE должное внимание было уделено простоте использования, скорости, производительности и отличному пользовательскому интерфейсу. Во многом авторы ориентировались на Microsoft Visual Studio.

  1. GreenFoot — онлайн-инструктор Java и IDE

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

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

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

У GreenFoot есть своя целевая аудитория, к которой относятся студенты, преподаватели и тренеры. При этом в ней реализованы все функции, необходимые для Java- разработчика :

  • Редактор GUI позволяет добавлять классы одним кликом мыши. Но можно добавлять и другие элементы, в зависимости от конкретного варианта использования;
  • Создаваемые классы легко расширяются или наследуются. Это же можно делать и с помощью визуального редактора;
  • GreenFoot поддерживает большое количество библиотек изображений, сгруппированных по таким категориям, как животные, объекты, здания, люди и символы;
  • В данной IDE реализованы функции управления проектами, поддержки кода, автоматического завершения, подсветки синтаксиса и другие инструменты.
  • Языки, платформы и методы могут отличаться. Но есть два аспекта веб-разработки, которые общие для всех задач: front-end и backend. Цель этой статьи заключается в том, чтобы…

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

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

Для решения задач по программированию рекомендуется использовать основанную на 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 соответствует правилу размещению открывающих и закрывающих фигурных скобок, как показано выше.

Похожие статьи