Разработка ста и одного плагина: Часть 2. Представление о rich-client-приложениях

Учимся основам разработки плагинов и rich-client-приложений

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

Крис Анищик, программист, IBM

Крис Анищик (Chris Aniszczyk) — коммиттер Eclipse, сотрудник IBM Lotus, занимающийся разработками в рамках инициативы OSGi. В настоящее время основные усилия Криса направлены на совершенствование среды программирования плагинов Eclipse (Plug-in Development Environment, PDE), а также на пропаганду Eclipse среди сотрудников IBM Lotus. Крис — пламенный энтузиаст продуктов с открытым исходным кодом, активный популяризатор open source. Он пропагандирует Eclipse в своем блоге и удостоен чести представлять коммиттеров Eclipse в совете директоров Eclipse Foundation. Крис всегда готов поговорить об open source и Eclipse за стаканчиком чего-нибудь прохладительного.



14.10.2009

Эта серия статей "Разработка ста и одного плагина" посвящена разработке плагинов. Но прежде чем начать, нужно убедиться, что у нас есть подходящая для этого среда. Первый шаг – загрузить из Eclipse.org дистрибутив Eclipse со средой разработки плагинов (Plug-in Development Environment - PDE). Я рекомендую загрузить последнюю версию Eclipse Classic. В этой серии статей мы будем использовать версию Eclipse V3.4 (M5). (О том, где найти Eclipse и дополнительную информацию, см. в разделе Ресурсы.)

Чтобы облегчить понимание процесса разработки плагина, будем следовать блок-схеме, изображенной на рисунке 1. В первой части мы обсудили первые пять шагов блок-схемы. Теперь выполним последние два шага и сосредоточимся на разработке rich-client-приложений.

Рисунок 1. Блок-схема процесса разработки плагина
Блок-схема процесса разработки плагина

Сборка

Настройка содержимого сборки – важный шаг в процессе разработки плагина. В Eclipse такая настройка осуществляется в файле build.properties.

Рисунок 2. Конфигурирование сборки (build.properties)
Конфигурирование сборки (build.properties)

Автоматическая сборка?

Настройка процесса автоматической сборки плагинов выходит за рамки этой статьи, но так как это часто задаваемый вопрос, дадим некоторые пояснения. Самым распространенным способом автоматизации сборки является использование компонента PDE Build из Eclipse SDK. Его недостаток заключается в сложности, которая пугает начинающих. Простой способ увидеть, как настраивается автоматическая сборка – это рассмотреть плагины и инструменты на сайте Pluginbuilder (см. Ресурсы).

Пример настройки содержимого сборки основан на файлах MANIFEST.MF, plugin.xml и icon. Он может также включать plugin.properties для поддержки интернационализации или такие компоненты, как файлы лицензий. Важно отметить разницу между содержанием двоичной сборки и исходной сборки. Обычно при экспорте плагина из Eclipse экспортируется только двоичная сборка, которую ваши коллеги могут использовать в своих установках Eclipse. Исходная сборка должна содержать исходный код разработанного плагина. Выполнение исходной сборки можно выбрать в процессе обычной операции экспорта.


Процесс экспорта

Последний шаг типичного процесса разработки плагина включает экспорт созданного плагина. Eclipse PDE облегчает этот процесс при помощи специального мастера экспорта. Чтобы вызвать этот мастер (см. рисунок 3), нажмите на File > Export и выберите Deployable Plug-ins and Fragments в категории Plug-in Development.

Рисунок 3. Мастер экспорта плагинов
Мастер экспорта плагинов

На первом шаге в этом мастере мы выбираем, какие плагины экспортировать. В данном случае нам нужен только наш простой плагин HelloWorld. На следующем шаге выбираем место назначения. Плагин можно поместить в файл ZIP или в каталог. В числе других опций этого мастера возможность подписать плагин и добавить в него исходный код. Пока проигнорируем их и просто нажмем кнопку Finish, чтобы экспортировать плагин (см. рисунок 4). Обратите внимание на то, что страница Overview в редакторе декларации плагина содержит простую гиперссылку для запуска этого мастера.

Рисунок 4. Плагин на диске
Plug-in on disk

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

Rich Client Platform

rich-client-приложения создаются в Eclipse при помощи платформы Rich Client Platform (RCP). Традиционно платформа Eclipse служит открытой инструментальной платформой. Однако она построена так, что ее компоненты могут использоваться для создания любого клиентского приложения. Минимальный набор плагинов, необходимый для создания rich-client-приложения, называется Rich Client Platform. Подробнее см. в разделе Ресурсы.


Продукты

Чтобы создать rich-client-приложение в Eclipse, нужно воспользоваться концепцией конфигураций продуктов. Это способ разработки плагинов в PDE с целью создания rich-client-приложений. Чтобы понять, что это такое, рассмотрим пример rich-client-приложения, с которым мы будем работать. Создадим его при помощи механизма шаблонов PDE, который мы рассмотрели в первой части. Создадим проект плагина с именем rcp и укажем, что это rich-client-приложение, а затем выберем шаблон RCP Application with a view (см. рисунок 5).

Рисунок 5. Шаблон rich-client-приложения
Шаблон rich-client-приложения

На следующем шаге создадим файл конфигурации продукта, который поможет сделать сборку созданного нами rich-client-приложения. Чтобы создать новую конфигурацию продукта, щелкните правой кнопкой на проекте плагина и выберите New > Product Configuration, чтобы запустить мастер конфигурации продукта (см. рисунок 6). Примем значения по умолчанию, присвоим своему файлу конфигурации продукта имя rcp.product и нажмем кнопку Finish, чтобы запустить редактор конфигурации продукта. В следующих разделах мы рассмотрим разные страницы редактора конфигурации продукта.

Рисунок 6. Мастер конфигурации нового продукта
Мастер конфигурации нового продукта

Вкладка Overview

Как и редактор деклараций плагинов, редактор конфигурации продукта на первой странице содержит вкладку Overview (см. рисунок 7). Она дает общее представление о конфигурации продукта, удобные ссылки для тестирования и экспорта продуктов и возможность выбрать, на чем будет основан продукт – на плагинах или на функциях. Чтобы быстро протестировать приложения, выберите ссылку Launch an Eclipse application в разделе Testing, и вы увидите, как выглядит rich-client-приложение.

Рисунок 7. Вкладка Overview
Overview

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

Отсюда можно также запустить свое приложение. Например, щелкните на ссылке Launch an Eclipse application, и вы увидите его (см. рисунок 8).

Рисунок 8. Запуск приложений
Launching applications

Вкладка Configuration

Вкладка Configuration содержит основные конструктивные блоки, необходимые для работы продукта. В первом разделе, Plug-ins and Fragments, просто перечисляются необходимые плагины и фрагменты. Иногда во время работы над продуктом появляются зависимости. В таких случаях полезно выбрать Add Required Plug-ins, чтобы определить, нужно ли что-нибудь добавить в конфигурацию продукта.

Следующий раздел, Configuration File, содержит специфический для OSGi артефакт – файл config.ini. Пусть Eclipse сгенерирует этот файл - около 99,9% времени вам не придется трогать этот параметр. В нем содержится то, что было определено в предыдущих плагинах и разделе фрагментов, но в особом формате, понятном Eclipse при запуске.

Рисунок 9. Вкладка Configuration
Вкладка Configuration

Вкладка Launching

Вкладка Launching содержит всю информацию, связанную с запуском вашего продукта на базе Eclipse. Раздел Java Runtime Environment позволяет удобно связывать зависящие от платформы JRE. Раздел Program Launcher позволяет настраивать исполняемый файл, который запускает продукт. Например, обычно разработчики хотят, чтобы имя их исполняемого файла отличалось от eclipse.exe. Кроме имени, можно выбирать специфические значки. Раздел Launching Arguments позволяет определять зависящие от платформы параметры запуска продукта. Это полезно, если надо задать определенное поведение для конкретной ОС, например, Mac OS X.

Рисунок 10. Вкладка Launching
Вкладка Launching

Вкладка Splash

Вкладка Splash позволяет опционально конфигурировать splash-экран для продукта (см. рисунок 11). Например, при запуске Eclipse появляется простой splash-экран с надписью Eclipse, который отображает процесс загрузки плагина. По умолчанию в пример приложения RCP входит простой растровый splash-экран. Однако чтобы продемонстрировать, какие интересные вещи можно делать при помощи splash-экрана, мы воспользуемся шаблоном splash-экрана входа (в разделе Customization). Выбрав шаблон log-in, сохраните конфигурацию продукта и запустите приложение.

Рисунок 11. Вкладка Splash
Вкладка Splash

Обратите внимание на новый splash-экран с именем пользователя и паролем.

Рисунок 12. Специализированный splash-экран
Специализированный splash-экран

Вкладка Branding

Вкладка Branding (см. рисунок 13) позволяет делать три вещи: выбрать оконные значки, создать специальный диалог о продукте и создать опциональную страницу приветствия. Оконнные значки – это просто изображения, связанные с окнами оболочки вашего приложения. Например, при запуске Eclipse в строке заголовка отображается маленький значок Eclipse размером 16х16. Подобные значки можно настраивать. Большинство приложений имеет ту или иную форму диалога о программе, в которой отображаются такие вещи, как тип лицензии, авторы и сведения о версии. Редактор конфигурации продукта позволяет использовать существующий диалог Eclipse about, но снабжать его собственными изображениями и информацией.

Страница приветствия помогает пользователям узнать ваше приложение. Например, чтобы увидеть страницу по умолчанию Eclipse Welcome, просто выберите позицию меню Help > Welcome. Что-то подобное можно сделать и для своего приложения, начав с раздела Welcome Page вкладки Branding. Создание страницы приветствия выходит за рамки этой статьи, и чтобы больше узнать о технологиях, помогающих пользователям Eclipse, обращайтесь к разделу Ресурсы.

Рисунок 13. Вкладка Branding
Вкладка Branding

Заключение

В целом миссия серии статей "Разработка ста и одного плагина" состояла в том, чтобы дать представление об основах разработки плагинов и некоторых практических рекомендаций. Мы решили эту задачу в первой части, создав пример плагина и пройдя типичный путь разработки. Во второй части мы завершили процесс разработки и создали rich-client-приложение. Освоив этот процесс, вы сможете гораздо легче разрабатывать плагины и приложения на базе Eclipse RCP.

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

Ресурсы

Научиться

Получить продукты и технологии

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Open source
ArticleID=435635
ArticleTitle=Разработка ста и одного плагина: Часть 2. Представление о rich-client-приложениях
publish-date=10142009