Наиболее известные приложения на основе
Eclipse Platform
— различные «Eclipse
IDE
» для разработки ПО на множестве языков (например, наиболее популярный «
Java
IDE», поддерживавшийся изначально, не полагается на какие-либо закрытые расширения, использует стандартный открытый
API
для доступа к Eclipse Platform).
Содержание
История
Первоначально Eclipse разрабатывалась компанией
IBM
как преемник среды разработки
IBM VisualAge
, в качестве корпоративного стандарта
IDE
для разработки на разных языках под платформы IBM. По сведениям IBM, проектирование и разработка стоили 40 миллионов
долларов
.
Исходный код
полностью открыт и сделан доступным после передачи Eclipse для дальнейшего развития сообществу независимому от корпорации IBM.
В Eclipse 3.0 (
2003 год
) были выбраны спецификации сервисной платформы
OSGi
как архитектура среды исполнения. С версии 3.0 Eclipse перестал быть монолитной IDE, поддерживающей расширения, а сам стал набором расширений. В основе лежат фреймворк
OSGi
и
SWT
/
JFace
, на основе которых разработан следующий слой —
RCP
(
Rich Client Platform
, платформа для разработки полноценных клиентских приложений). RCP служит основой не только для Eclipse, но и для других RCP-приложений, например,
Azureus
и
. Следующий слой — сам Eclipse, представляющий собой набор расширений RCP — редакторы, панели, перспективы, модуль CVS и модуль
Java Development Tools (JDT)
.
С 2006 года фонд Eclipse координирует ежегодный общий релиз (Simultaneous Release), который происходит в июне. Каждый выпуск включает в себя платформу Eclipse, а также ряд других проектов Eclipse.
Начиная с релиза 2018-09 Eclipse Foundation перешли с ежегодных релизов на
роллинг-релизы
с периодом в 13 недель.
Релиз
Дата
Версия платформы
Проект
2019-03
20 марта 2019
4.11
2018-12
19 декабря 2018
4.10
2018-09
19 сентября 2018
4.9
Photon
27 июня 2018
4.8
Oxygen
28 июня 2017
4.7
Neon
22 июня 2016
4.6
Mars
25 июня 2015
4.5
Luna
6 июня 2014
4.4
Kepler
26 июня 2013
4.3
Juno
27 июня 2012
3.8 и 4.2
Indigo
22 июня 2011
3.7
Helios
23 июня 2010
3.6
Galileo
24 июня 2009
3.5
Ganymede
25 июня 2008
3.4
Europa
29 июня 2007
3.3
Callisto
30 июня 2006
3.2
Eclipse 3.1
28 июня 2005
3.1
Eclipse 3.0
28 июня 2004
3.0
Преимущества
Eclipse служит в первую очередь платформой для разработки расширений, чем он и завоевал популярность: любой разработчик может расширить Eclipse своими модулями. Уже существуют Java Development Tools (JDT), C/C++ Development Tools (CDT), разрабатываемые инженерами
QNX
совместно с IBM, и средства для языков Ada (GNATbench, Hibachi), COBOL, FORTRAN, PHP, X10 (X10DT) и пр. от различных разработчиков. Множество расширений дополняет среду Eclipse диспетчерами для работы с базами данных, серверами приложений и др.
Eclipse JDT (Java Development Tools) — наиболее известный модуль, нацеленный на групповую разработку: среда интегрирована с системами управления версиями —
CVS
,
GIT
в основной поставке, для других систем (например,
Subversion
,
MS SourceSafe
) существуют плагины. Также предлагает поддержку связи между IDE и системой управления задачами (ошибками). В основной поставке включена поддержка трекера ошибок
Bugzilla
, также имеется множество расширений для поддержки других трекеров (
Trac
,
Jira
и др.). В силу бесплатности и высокого качества, Eclipse во многих организациях является корпоративным стандартом для разработки приложений.
Eclipse написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ (см. ниже). Библиотека SWT используется вместо стандартной для Java библиотеки
Swing
. Она полностью опирается на нижележащую платформу (операционную систему), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает на разных платформах проблемы совместимости и устойчивости приложений.
Архитектура
Основой Eclipse является платформа расширенного клиента (
RCP
— от
англ.
rich client platform
). Её составляют следующие компоненты:
Ядро платформы (загрузка Eclipse, запуск модулей);
Рабочая среда Eclipse (панели, редакторы, проекции,
мастера
).
GUI
в Eclipse написан с использованием инструментария SWT. Последний, в отличие от
Swing
(который самостоятельно эмулирует графические элементы управления), использует графические компоненты данной операционной системы. Пользовательский интерфейс Eclipse также зависит от промежуточного слоя GUI, называемого JFace, который упрощает построение пользовательского интерфейса, базирующегося на SWT.
Rich Client Platform
— платформа расширенного клиента, минимальный набор плагинов
для построения программы с графическим интерфейсом.
Примеры проектов
Кроме того, в состав Eclipse входят различные проекты (ниже перечислены некоторые из них)
.
Aperi (от
лат.
открывать
) — open source система управления системами сетевого хранения данных
.
BIRT (Business Intelligence and Reporting Tools)
— Web- и
PDF
-отчёты.
DTP (Data Tools Platform)
— разработка систем, управляемых данными (data-centric systems), в частности, данными в реляционных базах; управление программами с большим числом
коннекторов
.
Jazz
— клиент-серверная платформа для взаимодействия разработчиков в процессе разработки проекта (включает чат, журнал событий и др.), строящаяся поверх Eclipse (входит в линейку продуктов
IBM Rational
).
Modeling
.
EMF
, среда моделирования Eclipse — средство для создания
моделей
и генерации кода для построения инструментов и других приложений, базирующихся на структурированной модели данных, из спецификации модели, прописанной в
XMI
.
UML2
— реализация
метамодели
UML
2.0 для поддержки разработки инструментов моделирования.
мастера и проводник
веб-служб
, инструменты тестирования
;
инструменты для доступа и построения запросов и моделей
баз данных
.
Коммуникационная среда Eclipse (ECF)
нацелена на создание коммуникационных приложений на платформе Eclipse.
Проект разработки программного обеспечения для устройств (DSDP).
Платформа параллельных инструментов (PTP)
обеспечивает портируемую,
масштабируемую
, основанную на стандартах платформу параллельных инструментов, которая позволит облегчить интеграцию инструментов, специфических для параллельных компьютерных архитектур.
Платформа встроенного расширенного клиента (eRCP)
— предназначена для расширения RCP на встраиваемые устройства. В eRCP входит набор компонентов, которые являются подмножеством компонентов RCP. Она позволит перенести модель приложения, используемого на настольных компьютерах, на другие устройства.
Swordfish
— платформа для построения распределённых корпоративных информационных систем.
Последние версии
Eclipse 3.3.2 (Europa Winter)
Количество новых подпроектов (как управляемых
Eclipse Foundation
, так и сторонних) быстро увеличивается. Приходится координировать усилия огромного количества разработчиков и предлагать общие правила — «
».
Последняя версия релиза включает в себя 21 подпроект.
Eclipse 3.4 (Ganymede)
Релиз Ganymede (06.2008) включает в себя 23 подпроекта:
Eclipse Project 3.4
Equinox 3.4
Eclipse Communication Framework Project 2.0.0
Eclipse Model Framework Technology
Eclipse Modeling Framework 2.4.0
Eclipse Packaging Project 1.0.0
Eclipse Web Tools Platform Project 3.0.0
Graphical Editor Framework 3.4.0
Graphical Modeling Framework 2.1
Model Development Tools. 1.1
Data Tools Platform (DTP) 1.6
Device Software Development Platform Project Device Debugging 1.0
Device Software Development Platform Project Target Management 3.0
Buckminster Component Assembly 1.1
BIRT 2.3.0
C/C++ Development Tool (CDT) 5.0.0
Dynamic Languages Toolkit 0.95
Model to Text (M2T) 0.9.0
Model-to-Model Transformation (M2M)
Mylyn 3.0 (task-focused UI)
Rich Ajax Platform (RAP) 1.1
SOA Tools (STP) 1.0
Subversive — SVN Team Provider
Target Management 3.0
Test and Performance Tools Platform Project 4.5.0
Eclipse 3.5 (Galileo)
Последний релиз Galileo, представленный публике
24 июня
2009 года
, включает в себя 33 подпроекта:
Eclipse Platform 3.5
Eclipse Project 3.5.0
Eclipse Modeling Framework (EMF) 2.5.0
Eclipse Packaging Project 1.1.0
Eclipse Web Tools Platform Project WTP 3.1.0 (Galileo)
Начиная с версии 3.1.1, выпущен языковой пакет для русификации Eclipse. Переведены на русский язык как графический интерфейс, так и документация.
Модули
Для среды Eclipse существует целый ряд
свободных
и коммерческих модулей. Первоначально среда была разработана для языка
Java
, но в настоящее время существуют многочисленные расширения для поддержки и других языков:
Модуля для поддержки
Pascal
на данный момент нет. Вернее, есть заброшенный плагин
, который можно возродить при желании. Ещё есть поддержка подсветки синтаксиса паскаля плагином EclipseColorer
, но это не может считаться полноценной поддержкой языка.