Домой Заготовки на зиму Среды разработки программного обеспечения eclipse. Разработка простого Eclipse RCP приложения. Я хочу присоединиться к сообществу. Как это сделать

Среды разработки программного обеспечения eclipse. Разработка простого Eclipse RCP приложения. Я хочу присоединиться к сообществу. Как это сделать

В данной статье я хотел рассказать о том, как создавать приложения при помощи Eclipse RCP (Rich Client Platform). Поводом для написания послужил тот факт, что на Хабре абсолютно отсутствуют статьи, описывающие данную платформу. В качестве примера мы создадим пользовательскую форму ввода; корректность данных будет проверяться при помощи JFace Data Binding framework. Для затравки приведу ниже скриншот с тем, что у нас должно получиться.

Что такое Eclipse RCP

Для начала, все же необходимо сказать, что же такое Eclipse RCP. Eclipse – это среда разработки, написанная на Java, развиваемая и поддерживаемая Eclipse Foundation (участниками которого являются IBM, SAP, Oracle, компании, предлагающие продукты на основе Eclipse RCP и участвующие в развитии экосистемы Google, RedHat, Adobe, Cisco, Intel). Eclipse RCP – это набор плагинов для создания, так называемых, rich client application. Все что видит пользователь, открывая Eclipse IDE, является плагином, созданным на основе этой платформы. Пользователь может создавать свои плагины на основе огромного количества уже существующих, также при необходимости можно найти большинство популярных фреймворков, таких как Hibernate, Google Guice, Google Guava, JUnit, TestNG в виде плагинов. Также стоит отметить, что архитектура времени выполнения основана на спецификации сервисной платформы OSGI , данная спецификация описывает способы создания и работы модульных приложений. Eclipse, как уже упоминалось выше, написана на Java и позиционируется как кроссплатформенный продукт (в 90% случаев RCP приложение соберётся на Windows, Linux и Mac). Все плагины, составляющие ядро платформы, и большинство сторонних плагинов распространяются под лицензией EPL (Eclipse Public License). Пользовательский интерфейс RCP приложений основан на визуальных компонентах фреймворков SWT и JFace, а также на собственных Eclipse виджетах. Рисунки, приведённые ниже, показывают из каких компонентов состоит приложение, основанное на платформе RCP, и структуру самой платформы Eclipse.


Рисунок 1 - Компоненты используемые в RCP приложении (рисунок взят с этого сайта)


Рисунок 2 – Архитектура Eclipse (рисунок взят с этого сайта)

Плюсы и минусы платформы
Главный вопрос - чем же так хороша данная платформа и зачем ее использовать для разработки десктопных приложений (к слову, возможно разрабатывать веб приложения и приложения для мобильных платформ). Модульность, кроссплатформенность, поддержка мультиязычности, бесплатность, огромное количество существующих плагинов, библиотек и фреймвороков. Все это позволяет создавать приложения коммерческого уровня (ссылка на список существующих приложений разработанных на данной платформе приведена в конце статьи). К минусам можно отнести достаточно высокий уровень вхождения, так как для разработки серьёзного приложения необходимо знать хотя бы в общих чертах, как работает OSGI фреймворк, уметь работать с компонентами и виджетами SWT и JFace. Также для русскоговорящих разработчиков проблемой будет найти какие-либо материалы или книги об упомянутых выше фреймворках и библиотеках (ссылки на найденные ресурсы, в том числе и на русскоязычные, приведены в конце статьи), хотя в Европе и США периодически проводятся конференции, которые организуют участники Eclipse Foundation, в Германии издается специальный журнал, рассказывающий о новых плагинах и содержащий уйму примеров их применения, а также существует целая серия книг на немецком, которая описывает все ньюансы и тонкости разработки. На английском можно найти специальную серию книг eclipse series издательства Addison-Wesley, также можно найти пару книг от издательства Apress. Но на нашем родном языке материалов и книг ничтожно мало.

Приступаем к работе

Установка необходимых плагинов
Давайте перейдём непосредственно к созданию нашего первого RCP приложения. Для работы нам необходимо скачать сборку: Eclipse for RCP and RAP Developers c официального сайта. Если же Eclipse IDE уже установлена, то можно воспользоваться менеджером обновлений. Выберем в главном меню пункт Help->Install New Software. В появившемся окне Install сверху выберем из выпадающего списка нужный нам сайт с обновлениями - download.eclipse.org/releases/indigo , если такого сайта в списке нет, то нажмём справа кнопку Add, в поле Name напишем – Indigo Update Site, в поле Location – адрес, приведённый выше, нажмём OK (если при добавлении адреса появляется сообщение – Duplicate location, значит адрес уже существует в списке Available Software Sites, список сайтов обновлений можно посмотреть в предыдущем окне Install если щёлкнуть по ссылке Available Software Sites, которая находится под выпадающем списком). После выбора сайта обновлений, внизу появится древовидный список (если отмечен чекбокс Group items by category), откроем пункт General Purpose Tools и выберем Eclipse Plug-in Development Environment , затем откроем пункт EclipseRT Target Platform Components и отметим плагин – Eclipse RCP Plug-in Developer Resources , именно эти два плагина нам необходимы для создания нашего проекта. Далее нажмём два раза Next, примем лицензионное соглашение и щёлкнем по кнопке Finish; все, начнется установка необходимых плагинов. После установки нам будет предложено перезагрузить Eclipse, что мы и сделаем.


Рисунок 3 – Окно установки плагинов

Создание проекта
После перезагрузки выберем в главном меню пункт File->New->Other, выберем пункт Plug-in Development, далее, в ниспадающем меню отметим Plug-in Project.


Рисунок 4 – Меню выбора типа создаваемого проекта

Нажмём Next, нам необходимо дать имя нашему проекту, пусть он будет называться first.rcp.application, опять нажмём Next. В следующем окне нам необходимо указать имя приложения, в поле Name напишем First RCP Application. Снимем флажок с пункта Generate an activator, a Java class that controls the plug-in’s life cycle; для нашего простого приложения класс активатор не нужен. Оставим флажок на пункте - This plug-in will make contributions to the UI, так как наше приложение будет содержать пользовательский интерфейс. Оставим третий пункт Enable API Analysis неотмеченным. На вопрос - Would you like to create a rich client application? ответим Yes.


Рисунок 5 – Окно создания плагина

Нажмём Next, нам будет предложено выбрать шаблон для будущего приложения, выберем - Hello RCP и нажмём Next.


Рисунок 6 - Окно выбора шаблона RCP проекта

В последнем окне, в поле Application window title напишем - User Form, в поле Application class – MyApplication . Флажок Add branding оставим неактивным. Нажмём кнопку Finish. Нам будет предложено переключиться на перспективу Plug-in Development perspective, согласимся с этим предложением.


Рисунок 7 - Окно конфигурации шаблона RCP проекта

Структура проекта
Итак перед нами структура только что созданного проекта.


Рисунок 8 – Структура проекта

Содержание пяти классов в пакете first.rcp.application в данный момент нас не итересует, скажу только, что класс MyApplication это в некотором роде метод main() обычной Java программы, данный класс отвечает за то как будет запущен наш плагин и как он будет остановлен. В классе ApplicationWorkbenchWindowAdvisor , мы можем установить размер окна приложения при помощи следующей строки кода:
configurer.setInitialSize(new Point(400, 300));
Также мы можем увидеть, что по умолчанию не будет показываться панель инструментов и строка состояния:
configurer.setShowCoolBar(false);
configurer.setShowStatusLine(false);
Последней строкой устанавливается заголовок главного окна:
configurer.setTitle("User Form");
Класс ApplicationActionBarAdvisor отвечает за настройку строки меню нашего приложения. Класс Perspective отвечает за расположение и размер редакторов (editors) и видов (views), которые находятся в данной перспективе (perspective), в RCP приложении должна быть хотя бы одна перспектива.

Запуск проекта
Для того, чтобы запустить только что созданное нами приложение, нам необходимо перейти в папку META-INF и открыть файл MANIFEST.MF , если вы вдруг его закрыли (этот файл открывается по-умолчанию при создании проекта).


Рисунок 9 – Редактор свойств RCP приложения

Данный файл позволяет нам менять многие настройки проекта, подключать дополнительные плагины, подключать и управлять расширениями, настраивать сборку нашего плагина и многое другое. Мы находимся на вкладке Overview, в разделе Testing нажмём на ссылку - Launch an Eclipse application, через мгновение на экране появится окно нашего приложения, закроем его и перейдём к следующему этапу.


Рисунок 10 – Окно нашего приложения

Добавление вида (view)

Добавление расширения
Нашей задачей является создание вида (view), на который мы сможем поместить элементы графического интерфейса. Перейдём опять к файлу MANIFEST.MF , выберем внизу вкладку – Extensions. Мы видим, что по умолчанию у нас есть два расширения: org.eclipse.core.runtime.applications и org.eclipse.ui.perspectives. Первое расширение связано с классом нашего приложения MyApplication , если мы выберем данное расширение и развернём древовидный список до узла first.rcp.application.MyApplication (run), мы увидим, что поле class содержит название именно этого класса. Вернувшись к корневому узлу данного списка, справа в разделе Extension Details мы увидим два поля, значения которых мы тоже можем поменять (не будем сейчас этого делать): ID – идентификатор приложения и Name – название приложения.

Второе расширение отвечает за настройку перспективы нашего приложения. Файл MANIFEST.MF позволяет нам не заглядывая в код класса Perspective, указать, какие виды и/или редакторы будет содержать данная перспектива, их положение, размер и соотношение. Щёлкнув на этом расширении и перейдя к дочернему пункту мы увидим, что в разделе Extension Element Details мы можем указать класс перспективы, идентификатор и имя. Необходимо отметить, что подобные изменения, как говорилось выше, можно произвести путём редактирования непосредственно кода класса, который связан с данным расширением и редактированием файла plugin.xml , но не хотелось бы усложнять создание нашего первого проекта.


Рисунок 11 – Вкладка с расширениями нашего проекта

Нам необходимо добавить новое расширение для создания вида. Для этого нажмём на кнопку Add и в появившемся окне, в поле Extension Point filter введём views, должно остаться только одно расширение – org.eclipse.ui.views, выберем его и нажмём кнопку Finish.


Рисунок 12 – Окно выбора нового расширения

В списке расширений у нас должно появиться ещё одно, третье по счёту расширение.

Настройка вида
Щёлкнем по добавленному нами расширению правой кнопкой мыши, появится контекстное меню, выберем в нем New->view, тем самым мы добавим элемент к нашему расширению (этим элементом и является необходимый нам вид). В правой части появятся настройки данного элемента. Для начала создадим класс для нашего вида. Сделать этом мы можем нажав на ссылку class*.


Рисунок 13 – Настройки вида (view)

Откроется стандартный диалог создания Java класса, дадим ему название – MainView; как мы можем заметить, данный класс наследуется от класса org.eclipse.ui.part.ViewPart , родительского класса для всех видов. Завершим создание класса нажав на кнопку Finish. Осталось совсем немного, после создания класса для нашего вида перед нами откроется его код, создадим статическую переменную, которая будет содержать идентификатор данного вида, в качестве идентификатора мы зададим каноническое имя данного класса. Напишем следующее:

public class MainView extends ViewPart {
public static final String ID = MainView.class.getCanonicalName();

}
Ввернёмся к файлу MANIFEST.MF , откроем вкладку Extension, скопируем содержимое поля class* и вставим его в поле ID. Теперь имя класса и идентификатор этого вида совпадают, данный приём является хорошей практикой, так как всегда позволяет быстро найти нужный вид и узнать его идентификатор. В поле name* напишем – User Form. Все вид создан, осталось связать его с нашей перспективой, так как вид сам по себе не может быть использован, иными словами он должен принадлежать какой-либо перспективе.

Настройка расположения вида
Дальнейшие манипуляции мы можем произвести оставаясь в редакторе расширений или же открыть код класса перспективы - Perspective.java , что мы и сделаем. В классе Perspective , перейдём в метод – createInitialLayout(), данный метод задаёт начальное положение видов и редакторов. В методе напишем следующие две строки кода:
layout.setEditorAreaVisible(false);
layout.addStandaloneView(MainView.ID, true, IPageLayout.LEFT, 1.0f, layout.getEditorArea());
Первая строка указывает объекту layout, что нам не нужна область для редактирования, так как у нас только один вид и нету редакторов. Вторая строка добавляет наш вид, причём как автономный (standalone). Первым параметром является идентификатор нашего вида. Второй параметр это булево значение, отвечающее за то, будет или нет показан заголовок нашего вида (User Form). Третий параметр предназначен для указания ориентации вида в перспективе, так как вид у нас один и займёт все пространство перспективы, то данное значение может быть любым. Четвёртый параметр определяет положение этого вида по отношению к другим видам или редакторам, так как, в нашем случае, вид один он должен занимать все пространство перспективы. Последний пятый параметр, идентификатор области редактирования (editor area). Сохраним наши изменения.
Запуск приложения с добавленным видом
Вернёмся к файлу MANIFEST.MF и снова запустим наше приложение, для этого перейдём на вкладку Overview, в разделе Testing, щёлкнем по ссылке Launch an Eclipse application. Большого различия с тем как выглядела форма при предыдущем запуске мы не увидим, добавилась только вкладка с нашим видом – User Form.


Рисунок 14 – Окно нашего приложения с добавленным видом

На сегодня все, продолжение будет в следующей статье.

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

В этом дополнении к статье Дэвида Галлардо (EN) предлагается новая информация относительно Eclipse V3.3.

Что такое Eclipse?

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

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

Эта целостность и последовательность характерны не только для инструментов Java-разработки. Хотя Eclipse написан на Java, использовать его можно и с другими языками. К примеру, уже имеются (или разрабатываются) плагины, поддерживающие такие языки программирования как C/C++ и COBOL. Структура Eclipse может также использоваться как основа для других типов приложений, не имеющих отношения к разработке ПО, например, систем управления контентом.

Великолепным примером приложения на основе Eclipse является ПО IBM® Rational® Software Architect (см. ), которое легло в основу семейства инструментов IBM для разработки на Java.

Eclipse - это открытый исходный код

ПО с открытым исходным кодом выпускается под лицензией, имеющей целью гарантировать пользователям определённые права. Самое очевидное из них, конечно, то, что исходный код обязательно должен быть предоставлен пользователям, и они имеют полное право модифицировать и самостоятельно распространять ПО. Такая защита пользовательских прав достигается с помощью механизма под названием "copyleft": Лицензия программного обеспечения стоит на защите авторских прав (copyright) и запрещает распространение ПО, если пользователю не предоставлены такие права. Сopyleft-лицензия также требует, чтобы всё распространяемое пользователями ПО покрывалось исходной лицензией без изменений. Тем самым, смысл авторского права, по существу, переворачивается с ног на голову, а про copyleft-лицензию, использующую авторское право для наделения пользователя правами, а не для сохранения их за разработчиком ПО, часто в шутку говорят "все права извращены" (all rights reversed).

Большая часть распространённых опасений, неуверенности и сомнений относительно ПО с открытым исходным кодом основана на так называемой вирусной природе некоторых copyleft-лицензий. Идея состоит в том, что если вы используете ПО с открытым исходным кодом как часть собственной разрабатываемой программы, вы потеряете свою интеллектуальную собственность, так как лицензия "заразит" собой ваши личные части программы. Другими словами, лицензия может потребовать, чтобы всё программное обеспечение, имеющее в своём составе ПО с открытым исходным кодом, включая и любое вновь созданное ПО, распространялось с той же самой лицензией. Хотя это и верно для наиболее известной copyleft-лицензии - GNU General Public License (под которой, например, распространяется Linux®), существуют и другие лицензии, обеспечивающие иное соотношение коммерческих и общественных интересов.

Open Software Initiative - OSI (Инициатива открытого ПО) - это некоммерческая организация, дающая чёткое определение тому, что представляет собой открытый исходный код, и осуществляющая сертификацию лицензий, удовлетворяющих её критериям. Eclipse распространяется в рамках лицензии EPL - Eclipse Public License (Открытая лицензия Eclipse) V1.0, одобренной OSI и нацеленной на то, чтобы облегчить коммерческое признание Eclipse, при этом сохраняя лояльность к авторам исходного кода.

Те, кто создаёт плагины к Eclipse или использует Eclipse как базу для разработки ПО, обязаны публиковать любой код Eclipse, который они используют либо модифицируют в рамках лицензии EPL, но имеют право лицензировать свои собственные дополнения, как им нравится. Собственный код, объединённый в комплект с ПО из Eclipse, не требует лицензирования в качестве открытого исходного кода, а сам исходный код не нужно делать общедоступным.

Несмотря на то, что большинство программистов не станет использовать Eclipse для разработки плагинов или создания на его базе новых продуктов, значимость основанной на открытом исходном коде природы Eclipse велика не только потому, что благодаря ей Eclipse доступен совершенно бесплатно (и вопреки тому, что коммерчески ориентированная лицензия подразумевает, что плагины могут стоить денег). Открытый исходный код содействует инновациям и создаёт стимул для разработчиков (даже коммерческих) вносить свой исходный код как вклад в общую копилку. Для этого есть несколько причин, но едва ли не самая существенная состоит в том, что чем больше разработчиков вносит свой вклад в проект, тем более значимым он становится для всех. А когда проект становится полезным, всё большее число разработчиков будут использовать его и создадут вокруг него сообщество, подобное тем, что сформировались вокруг Apache и Linux. (Чтобы получить дополнительную информацию о лицензиях, обратитесь к разделу .)

Что такое Eclipse?

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

Проект Eclipse был создан в ноябре 2001 года компанией IBM и поддержан консорциумом поставщиков программного обеспечения. Фонд Eclipse был создан в январе 2004 года как независимая некоммерческая организация, выступающая распорядителем сообщества Eclipse. Он создавался, чтобы помочь независимому от поставщиков, открытому и прозрачному сообществу вырасти вокруг Eclipse. Сегодняшнее сообщество Eclipse состоит из частных лиц и организаций, представляющих индустрию программного обеспечения.

Фонд Eclipse контролирует и направляет текущие разработки Eclipse. Фонд обслуживает сообщество, но разработчики открытого исходного кода, называемые коммитерами и, по существу, работающие над проектами Eclipse, не состоят в его штате. Обычно коммитеры Eclipse числятся в каких-либо организациях либо являются независимыми разработчиками, добровольно отдающими своё время работе в проекте открытого исходного кода.

Теперь, взглянув на теоретические, исторические и политические аспекты Eclipse, давайте рассмотрим сам продукт.

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

При первом запуске Eclipse вы увидите страницу приветствия внутри рабочего пространства (см. рисунок 1). У пользователя Eclipse есть несколько возможностей перейти на страницу обзора (overview page), что я и рекомендую сделать (см. рисунок 2). Далее, можно ознакомиться с информацией по новым функциям, изучить некоторые примеры или пройти учебный курс.

Рисунок 1. Страница приветствия Eclipse
Рисунок 2. Страница обзора Eclipse

Рабочее пространство Eclipse состоит из нескольких панелей, называемых представлениями , например навигационное или схематическое представления (navigator or outline views). Набор таких представлений называется перспективой . Одна из наиболее распространённых перспектив - перспектива Ресурсы (Resource), которая представляет собой базовый набор представлений для управления проектами и просмотра, а также редактирования файлов проекта.

Я рекомендую большинству начинающих пользователей начинать со страницы обзора, показанной на рисунке 2, и узнать больше об Eclipse. Раздел "основы рабочего пространства" (workbench basics) содержит много полезной начальной информации о различных компонентах Eclipse и о том, как они взаимодействуют друг с другом. Уделите несколько минут чтению этого материала, а затем давайте погрузимся в инструменты разработки Java Development Tools (JDT) Eclipse. Лучший способ чему-либо научиться - попробовать это на практике.

Продолжая этот короткий обзор Eclipse, мы создадим новый проект на Java. Выберите File > New > Java Project (Файл > Новый > Проект Java) и введите Hello в ответ на запрос имени проекта, а затем нажмите Finish .

Теперь посмотрим на перспективу "Java" (если вы ещё в ней не находитесь). В зависимости от того, как вам больше нравится управлять своим экраном, можно либо сменить перспективу в текущем окне, выбрав Window > Open Perspective > Java (Окно > Открыть Перспективу > Java) , либо открыть новое окно, выбрав Window > New Window (Окно > Новое Окно) , и выбрать новую перспективу.

Как и следовало ожидать, перспектива Java имеет набор представлений, предназначенных для ведения разработки на Java. Одно из них, расположенное в левом верхнем углу, представляет собой иерархию, содержащую различные пакеты Java, классы, JAR-архивы и разнообразные файлы. Это представление называется Обозреватель Пакетов (Package Explorer). Обратите внимание, что в главном меню добавлены два новых пункта: Source и Refactor.

Java Development Tools (JDT)

Чтобы опробовать среду разработки Java, мы создадим и выполним приложение под названием "Hello World". Находясь в перспективе Java, нажмём правой кнопкой на папке с исходным тестом проекта "Hello" (src) и выберем New > Class (Новый > Класс) , как показано на рисунке 3. В появившемся диалоговом окне введём Hello в качестве имени класса. Ниже надписи Which method stubs would you like to create? (Какие заглушки методов вы желаете создать?) отметим public static void main(String args) и нажмём Finish .

Рисунок 3. Создание нового класса в перспективе Java

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

Рисунок 4. Класс Hello в редакторе Java

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

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

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

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

Рисунок 5. Варианты, предлагаемые функцией Quick Fix

Двойное нажатие мышкой на предложении вставляет код на нужное место в программе.

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

Рисунок 6. Результат работы программы

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

Рисунок 7. Перспектива Debug

Обратите внимание на представление Debug в левом верхнем углу перспективы. Это представление показывает стек вызовов и содержит панель инструментов в строке заголовка, позволяющую управлять выполнением программы. На панели имеются кнопки для продолжения, приостановки или завершения программы, перехода к следующему оператору, перешагивания следующего оператора или возвращения из метода. Панель наверху справа содержит целый ряд представлений с закладками, в том числе Variables (Переменные), Breakpoints (Контрольные точки), Expressions (Выражения) и Display (Отображение). Сейчас выбрана закладка Variables, поэтому мы можем видеть текущее значение переменной i .

Более подробную информацию о любом из представлений можно получить с помощью контекстной подсказки; для этого щёлкните мышкой на заголовке представления и нажмите F1 .

Дополнительные плагины

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

Eclipse содержит плагин для работы с Системой параллельных версий (CVS - Concurrent Versions System) для управления исходным кодом. Плагин Team (Команда) соединяется с CVS-сервером, позволяя членам команды разработчиков работать с набором файлов, содержащих исходные тексты, не вмешиваясь в изменения, вносимые другими. Мы не станем более подробно исследовать здесь управление исходными текстами из Eclipse, так как для этого потребуется установка CVS-сервера, хотя возможности, связанные с поддержкой команды разработчиков, а не только самостоятельной разработки, является важной и неотъемлемой частью Eclipse.

Плагины, которые поддерживаются и распространяются Фондом Eclipse можно найти на Web-сайте Eclipse. Наиболее полный список имеющихся плагинов доступен на странице Eclipse Plug-in Central, которая служит каталогом плагинов.

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

Платформа Eclipse содержит мощный набор плагинов (см. рисунок 8), которые поддерживают проекты, такие как JDT и PDE.

Рисунок 8. Упрощенная архитектура платформы Eclipse

Тёмно-синие блоки обозначают компоненты, являющиеся центральной частью Платформы функционально насыщенных клиентов (Rich Client Platform - RCP) в Eclipse. Сама концепция RCP выходит за рамки статьи, но будем считать, что RCP - это просто набор плагинов из Eclipse, который люди могут использовать в разработке приложений, например Lotus Notes® 8. Светло-голубые блоки представляют необязательные (хотя и рекомендуемые) компоненты для включения в приложения на базе RCP. А серые блоки - совершенно необязательны. Платформа состоит из нескольких компонентов, мы рассмотрим некоторые из них:

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

Заключение

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

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

Рабочая среда Eclipse

Основы синтаксиса JAVA

Знакомство с оболочкой Eclipse

Назначение, особенности и преимущества Eclipse

Eclipse – это расширяемая IDE (интегрированная среда разработки). IDE – удобно организованный набор инструментов, необходимых для работы над программным проектом.

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

Наиболее важными особенностями Eclipse являются:

1. Кроссплатформенность . Eclipse выполняется на всех распространенных платформах: Windows, Linux и MacOS X. Еще важнее то, что его функции одинаковы на каждой из этих платформ.

2. Универсальность и расширяемость . В Eclipse реализована возможность использования различных инструментов, разработанных сторонними программистами.

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

Рабочая среда Eclipse

Первое, что видит пользователь при запуске Eclipse – диалоговое окно, позволяющее выбрать место, где будет располагаться рабочее пространство (workspace). Рабочее пространство – каталог, в котором будет сохраняться файлы проектов.

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

Основными составляющими рабочей среды являются представления (views), редакторы (editors) и проекции или перспективы (perspectives).

Представление – это небольшой раздел внутри рабочей среды, который служит для навигации по некоторой категории объектов (такой, как ресурсы или пакеты), открытия редакторов, отображения свойств активных редакторов. Например, представление Navigator показывает проекты и другие ресурсы, а представление Bookmarks отображает все закладки в Workbench вместе с именами файлов, с которыми эти закладки связаны. Все изменения, сделанные в представлениях, немедленно сохраняются.

Другой тип визуальных компонентов Workbench – редакторы, которые используются для просмотра и редактирования некоторого ресурса (например, программного кода). Если что-либо набрать в этом редакторе, на его вкладке, где написано название файла, появится звездочка. Она означает, что редактор содержит не сохраненные изменения. Они сохранятся, если нажать Ctrl + S или выбрать команду File --> Save.

Существует множество полезных представлений, которые добавляются в окно рабочей среды командой Window --> Show View. Однако вместо того, чтобы добавлять их по одному, удобнее бывает переключать проекцию (perspective). Проекция (или перспектива) – это набор представлений и редакторов, специально подобранный для выполнения некоторой задачи. После запуска в Eclipse открывается перспектива Java, настроенная собственно на написание программы. Для отладки программы часто используется проекция Debug. Переключить проекцию можно командой Window --> Open Perspective. Название текущей проекции отображается в правом верхнем углу рабочей среды.


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

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

Для создания проекта необходимо выполнить команду File --> New --> Project. В появившемся окне выберите Java Project и нажать «Далее». Также необходимо указать имя проекта. В директории, указанной как рабочее пространство, будет создана папка с именем проекта. Нажать кнопку «Готово».

Теперь в представлении PackageExplorer в левой части рабочей среды присутствует проект. В любой момент его можно удалить, щелкнув по его названию правой кнопкой мыши и выбрав Delete. После этого Eclipse спросит, уничтожить ли заодно папку с файлами проекта (при необходимости можно и уничтожить).

Если вы не удалили проект, к нему можно добавить файлы и папки с помощью команд контекстного меню New --> File и New --> Folder соответственно. Если проект большой, то ему необходима структура вложенных папок. Но в случае Java-проекта все несколько иначе. Дело в том, что фрагменты Java-программы сгруппированы в пакеты, а для каждого пакета создается отдельная папка. Пакет создается командой New --> Package. Для пакета тоже надо придумать имя. В результате в папке проекта будет создана новая папка с этим именем.

Просматривать ресурсы проекта может быть удобнее с помощью представления Navigator. Откройте его командой Window --> Show View. Вы увидите, что кроме директорий проекта и пакета Eclipse создал два вспомогательных файла.classpath и.project.

Программа на Java всегда состоит из одного или нескольких классов. Создать класс можно командой New --> Class в контекстном меню представления Navigator (или Package Explorer, не имеет значения). При создании класса необходимо выбрать пакет, к которому он будет относиться и придумать ему имя. Имена классов принято начинать с прописной буквы . Если не соблюсти это правило хорошего тона, Eclipse выдаст предупреждение, но ничего страшного не произойдет.

Также полезно поставить галочку в разделе «Какие методы вы хотите создать в своем классе?» напротив опции public static void main (String args). В результате в теле класса будет сгенерирован метод (функция) main(). Java требует, чтобы хотя бы в одном из классов программы существовал метод с таким заголовком. Именно он и будет выполнен при старте программы.

В результате в папке пакета будет создан файл с именем класса и расширением.java. Eclipse откроет редактор кода, в котором отобразится содержимое этого файла. Оно будет примерно следующим:

public class MyClass {

public static void main(String args) {

// TODO Auto-generated method stub

Команды, составляющие тело функции, можно написать вместо автоматически сгенерированного комментария

// TODO Auto-generated method stub.

Мы напишем только одну команду, которая будет выводить на экран классическую строку «Hello, world!»:

System.out.println("Hello, world!");

Для запуска программы необходимо выполнить команду Run --> Run.

В левой части этого окна надо выбрать Java Application (приложение Java). Eclipse найдет класс, содержащий метод main() и предложит начать запуск программы именно с него (в правой части окна на вкладке Main должны появиться названия проекта и класса). Помимо этого вниманию программиста предлагается еще несколько закладок. Например, на второй из них – Arguments – предлагается ввести параметры командной строки (если программа рассчитана на вызов из командной строки с параметрами).

Для написанной программы ничего дополнительно указывать не нужно. Просто нажать кнопку Run.

В результате работы программы осуществляется вывод данных в так называемую консоль. В операционной системе MS DOS консолью служил весь экран монитора. Eclipse же открывает представление Console, в котором (если все сделано правильно) и отобразится строка «Hello, world!» – результат работы программы.

Теперь для повторного запуска программы, можно пойти более легким путем – выполнить команду Run --> Run Last Launched (еще раз запустить предыдущее приложение) или просто нажать Ctrl + F11.

IT-технологии не стоят на месте, они развиваются с каждым днем. Создаются новые языки программирования, которые позволяют использовать все возможности, что дает нам компьютер. Одним из наиболее гибких, мощных и интересных языков является Java. Чтобы работать с Java необходимо иметь среду разработки ПО. Мы рассмотрим Eclipse.

Eclipse – это расширяемая интегрированная среда разработки, которая находится в свободном доступе. Именно Eclipse является основным соперником и вопрос: «Что лучше?» все еще остается открытым. Эклипс – мощнейшая IDE, которой пользуются многие Java и Android-разработчики для написания различных приложений на любую ОС.

Внимание!
Эклипс требует много дополнительных файлов, последние версии которых вы сможете скачать на официальном сайте Java. Без них Eclipse даже не начнет установку.

Конечно, Eclipse создан для написания программ. После создания проекта, в редакторе текста вы сможете ввести код программы. В случае возникновения ошибок, компилятор выдаст предупреждение, подсветит строку, в которой допущена ошибка, и объяснит ее причину. Но компилятор не сможет обнаружить логические ошибки, то есть ошибки условия (неправильные формулы, расчеты).

The Eclipse Project is an open source project of сайт, overseen by a Project Management Committee (PMC) and project leaders. The work is done in subprojects working against . The Eclipse Project Charter describes the organization of the project, roles and responsibilities of the participants, and top level development process for the project. The JDT and PDE are plug-in tools for the Eclipse Platform. Together, these three pieces form the Eclipse SDK , a complete development environment for Eclipse-based tools, and for developing Eclipse itself.

  • Eclipse Project Development
    Release plans and other information about the Eclipse Project development process.

  • Download the Eclipse SDK, Eclipse RCP, SWT, the Eclipse Java compiler, and many more. You can find the current release here. Or, download the latest stable and integration builds if you want to try out the newest features under development, or get started with contributing to the project.

  • Browse the documentation included with Eclipse Project releases.

Subprojects


  • The Platform defines the set of frameworks and common services that collectively make up "integration-ware" required to support the use of Eclipse as a component model, as a rich client platform () and as a comprehensive tool integration platform. These services and frameworks include a standard workbench user interface model and portable native widget toolkit, a project model for managing resources, automatic resource delta management for incremental compilers and builders, language-independent debug infrastructure, and infrastructure for distributed multi-user versioned resource management.

  • The JDT provides the tool plug-ins for the platform that implement a Java IDE for power-users, that supports the development of any Java application, including Eclipse plug-ins. The JDT adds the notion of Java projects and a Java perspective to the Eclipse platform, as well as a number of views, editors, wizards, builders, and code merging and refactoring tools. The JDT allows Eclipse to be a development environment for itself. The JDT plug-ins themselves can also be further extended by other tool builders.

  • The PDE project provides a number of views and editors that make is easier to build plug-ins for Eclipse. Using the PDE, you can create your plug-in manifest file (plugin.xml), specify your plug-in runtime and other required plug-ins, define extension points, including their specific markup, associate XML Schema files with the extension point markup so extensions can be validated, create extensions on other plug-in extension points, etc. The PDE makes integrating plug-ins easy and fun.

  • The e4 project is an incubator for developing the next generation of the Eclipse platform. The mission of the e4 project is to build a next generation platform for pervasive, component-based applications and tools.

Новое на сайте

>

Самое популярное