Eclipse - это платформа, разработанная для создания интегрированных инструментов разработки приложений и Web-интерфейсов. Сама по себе она не предоставляет широких возможностей пользователю. Основная ее ценность заключается в ее предназначении: быстрая и эффективная разработка интегрированных функций на основе модели модулей.
Для работы с утилитами Eclipse предоставляет общую модель пользовательского интерфейса (UI). Эта модель оптимизирована для работы в различных операционных системах, обеспечивая при этом эффективную интеграцию с каждой из них. Модули взаимодействуют с переносимыми API платформы Eclipse и выполняются во всех поддерживаемых операционных системах без дополнительных изменений.
В основе платформы Eclipse лежит архитектура динамического поиска, загрузки и выполнения модулей. Платформа обрабатывает логистику поиска и выполнения подходящего исходного кода. Пользовательский интерфейс платформы предоставляет стандартную модель навигации. Таким образом, каждый модуль может сконцентрироваться на выполнении небольшого числа специальных задач. Какие это могут быть задачи? Определение, тестирование, анимация, публикация, компиляция, отладка, создание диаграмм... Возможности ограничены только вашим воображением.
Платформа Eclipse поддерживает открытую архитектуру, позволяющую каждой группе разработки модулей сосредоточиться на собственной области знаний. Специалисты по работе с хранилищами создают серверные приложения, а специалисты по рабочему интерфейсу - пользовательские утилиты. Эффективная структура платформы позволяет добавлять новые функции и уровни интеграции без воздействия на старые утилиты.
Для интеграции утилит с точки зрения конечного пользователя в платформе Eclipse применяется модель общей рабочей среды. Разрабатываемые утилиты, расширяют рабочую среду с помощью хорошо известных точек прерывания.
Сама платформа представляет собой структуру слоев модулей, каждый из которых определяет расширения точек расширения модулей более низкого уровня, а также в свою очередь предоставляет собственные точки расширения для дальнейшей настройки. Такая модель расширения позволяет разработчикам модулей добавлять в базовую инструментальную платформу различные функции. Объекты, связанные с каждой утилитой, такие как файлы и прочие данные, управляются общей моделью ресурсов платформы.
Платформа предоставляет пользователем общий подход для работы с утилитами, а также поддерживает интегрированное управление ресурсами, создаваемыми с помощью модулей.
Кроме того, рассмотренная архитектура предоставляет преимущества для разработчиков. Платформа отвечает за взаимодействие с различными средами выполнения, такими как операционные системы и среды серверов рабочих групп. Таким образом, вместо особенностей интеграции разработчики модулей могут уделить больше внимания конкретной задаче.
Структура платформы Eclipse, как таковая, представляет собой набор подсистем, реализованных в виде одного или нескольких модулей. Подсистемы создаются на основе компактной службы выполнения. На следующем рисунке показано упрощенное представление структуры.
Модули, входящие в состав подсистемы, задают точки расширения, предназначенные для добавления в платформу новых функций. В следующей таблице перечислены основные компоненты среды выполнения платформы, реализованные в виде одного или нескольких модулей.
Среда выполнения платформы |
Задает модели точек расширения и модулей. Она в динамическом режиме выполняет поиск модулей и сохраняет информацию о них и связанных точках расширения в реестре платформы. Модули запускаются в соответствии с действиями пользователя, когда в этом возникает необходимость. Среда выполнения реализована с помощью среды OSGi. |
Управление ресурсами (рабочая область) |
Задает API для создания ресурсов (проектов, файлов и папок), создаваемых утилитами в пределах файловой системы, и управления ими. |
Пользовательский интерфейс рабочей среды |
Реализует пользовательский интерфейс для навигации в платформе. Он определяет точки расширения, позволяющие добавлять новые компоненты пользовательского интерфейса, такие как панели и действия меню. Кроме того, он предоставляет дополнительные наборы инструментов (JFace и SWT), предназначенные для создания пользовательских интерфейсов. Службы пользовательского интерфейса структурированы таким образом, что с помощью модулей пользовательского интерфейса можно создавать приложения расширенных клиентов, независимые от моделей управления ресурсами и рабочей области. Модули с поддержкой интегрированной среды разработки определяют дополнительные функции для навигации и управления ресурсами. |
Справочная система |
Определяет точки расширения, с помощью которых модули могут предоставлять справку и прочую документацию в виде книг, доступных для просмотра. |
Коллективная работа |
Задает модель совместного программирования для управления ресурсами и их версиями. |
Поддержка отладки |
Задает независимую от языка модель отладки, а также классы пользовательского интерфейса, предназначенные для создания отладчиков и программ запуска. |
Прочие утилиты |
Прочие служебные модули предоставляют такие функции, как поиск и сравнение ресурсов, компоновка с помощью файлов конфигурации XML, а также динамическое обновление платформы с сервера. |
Базовая платформа представляет собой интегрированную среду разработки (IDE) для всего, что угодно (и ничего в частности).
Окончательный набор функций платформы определяется установленными модулями. Именно поэтому вместе с Eclipse SDK поставляются дополнительные модули, позволяющие расширить функциональность платформы.
При необходимости с помощью модулей можно реализовать поддержку дополнительных типов ресурсов, таких как файлы Java, программы C, документы Word, страницы HTML и файлы JSP, включая функции редактирования и управления.