Eclipse (среда разработки)

Eclipse (МФА: [ɪˈklɪps], с англ. — «затмение»[9]) — свободная интегрированная среда разработки модульных кроссплатформенных приложений. Развивается и поддерживается Eclipse Foundation.

Eclipse
Логотип программы Eclipse
Скриншот программы Eclipse
ТипИСР
АвторObject Technology International[d][2]
РазработчикEclipse Foundation[3]
Написана наJava[4]
ИнтерфейсStandard Widget Toolkit
Операционные системыGNU/Linux[5], macOS[6], Windows[7] и Solaris[8]
Первый выпуск7 ноября 2001
Аппаратная платформа Java Virtual Machine
Последняя версия2023-09 (4.29.0)[1] (13 сентября 2023)
Репозиторийgit.eclipse.org/c/
ЛицензияEclipse Public License
Сайтeclipseide.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе

Наиболее известные приложения на основе Eclipse Platform — различные «Eclipse IDE» для разработки ПО на множестве языков (например, наиболее популярный «Java IDE», поддерживавшийся изначально, не полагается на какие-либо закрытые расширения, использует стандартный открытый API для доступа к Eclipse Platform).

История

Первоначально Eclipse разрабатывалась компанией IBM как преемник среды разработки IBM VisualAge, в качестве корпоративного стандарта IDE для разработки на разных языках под платформы IBM. По сведениям IBM, проектирование и разработка стоили 40 миллионов долларов.[10] Исходный код полностью открыт и сделан доступным после передачи Eclipse для дальнейшего развития сообществу независимому от корпорации IBM.

В Eclipse 3.0 (2003 год) были выбраны спецификации сервисной платформы OSGi как архитектура среды исполнения. С версии 3.0 Eclipse перестал быть монолитной IDE, поддерживающей расширения, а сам стал набором расширений. В основе лежат фреймворк OSGi и SWT/JFace, на основе которых разработан следующий слой — RCP (Rich Client Platform, платформа для разработки полноценных клиентских приложений). RCP служит основой не только для Eclipse, но и для других RCP-приложений, например, Azureus и File Arranger. Следующий слой — сам Eclipse, представляющий собой набор расширений RCP — редакторы, панели, перспективы, модуль CVS и модуль Java Development Tools (JDT).

С 2006 года фонд Eclipse координирует ежегодный общий релиз (Simultaneous Release), который происходит в июне. Каждый выпуск включает в себя платформу Eclipse, а также ряд других проектов Eclipse.

Начиная с релиза 2018-09 Eclipse Foundation перешли с ежегодных релизов на роллинг-релизы с периодом в 13 недель.[11]

РелизДатаВерсия платформыПроект
2019-0320 марта 20194.11проекты 2019-03
2018-1219 декабря 20184.10проекты 2018-12
2018-0919 сентября 20184.9проекты 2018-09
Photon27 июня 20184.8проекты Photon
Oxygen28 июня 20174.7проекты Oxygen
Neon22 июня 20164.6проекты Neon
Mars25 июня 20154.5проекты Mars
Luna6 июня 20144.4проекты Luna
Kepler26 июня 20134.3проекты Kepler
Juno27 июня 20123.8 и 4.2проекты Juno
Indigo22 июня 20113.7проекты Indigo
Helios23 июня 20103.6проекты Helios
Galileo24 июня 20093.5проекты Galileo
Ganymede25 июня 20083.4проекты Ganymede
Europa29 июня 20073.3проекты Europa
Callisto30 июня 20063.2проекты Callisto
Eclipse 3.128 июня 20053.1
Eclipse 3.028 июня 20043.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). Её составляют следующие компоненты:

GUI в Eclipse написан с использованием инструментария SWT. Последний, в отличие от Swing (который самостоятельно эмулирует графические элементы управления), использует графические компоненты данной операционной системы. Пользовательский интерфейс Eclipse также зависит от промежуточного слоя GUI, называемого JFace, который упрощает построение пользовательского интерфейса, базирующегося на SWT.

Гибкость Eclipse обеспечивается за счёт подключаемых модулей, благодаря чему возможна разработка не только на Java, но и на других языках, таких, как C/C++, Perl, Groovy, Ruby, Python, PHP, Erlang, Компонентный Паскаль, Zonnon, и прочих.

Проекты Eclipse

Платформа

  • Eclipse Project — собственно проект Eclipse, включает в себя:
  • Rich Client Platform[14] — платформа расширенного клиента, минимальный набор плагинов[15][16] для построения программы с графическим интерфейсом.

Примеры проектов

Кроме того, в состав Eclipse входят различные проекты (ниже перечислены некоторые из них)[17].

  • Aperi (от лат. открывать) — open source система управления системами сетевого хранения данных[18].
  • BIRT (Business Intelligence and Reporting Tools)[19] — Web- и PDF-отчёты.
  • DTP (Data Tools Platform)[20] — разработка систем, управляемых данными (data-centric systems), в частности, данными в реляционных базах; управление программами с большим числом коннекторов.
  • GEF (Graphical Editing Framework)[21] — фреймворк для построения встроенных графических редакторов.
  • Jazz[22][23] — клиент-серверная платформа для взаимодействия разработчиков в процессе разработки проекта (включает чат, журнал событий и др.), строящаяся поверх Eclipse (входит в линейку продуктов IBM Rational).
  • Modeling[24].
    • EMF[25], среда моделирования Eclipse — средство для создания моделей и генерации кода для построения инструментов и других приложений, базирующихся на структурированной модели данных, из спецификации модели, прописанной в XMI.
    • UML2[26] — реализация метамодели UML 2.0 для поддержки разработки инструментов моделирования.
  • Tools[27].
  • TPTP (Test & Performance Tools Platform)[31] — разработка инструментов тестирования, — отладчики, профайлеры и т. п.
  • VE (Visual Editor Project)[32] — разработка инструментов GUI.
  • WTP (Web Tools Platform Project)[33] — инструменты разработки веб-приложений J2EE:
    • редакторы HTML, JavaScript, CSS, JSP, SQL, XML, DTD, XSD и WSDL;
    • графические редакторы для XSD и WSDL;
    • мастера и проводник веб-служб, инструменты тестирования WS-I;
    • инструменты для доступа и построения запросов и моделей баз данных.
  • Коммуникационная среда Eclipse (ECF)[34] нацелена на создание коммуникационных приложений на платформе Eclipse.
  • Проект разработки программного обеспечения для устройств (DSDP).[35]
  • Платформа параллельных инструментов (PTP)[36] обеспечивает портируемую, масштабируемую, основанную на стандартах платформу параллельных инструментов, которая позволит облегчить интеграцию инструментов, специфических для параллельных компьютерных архитектур.
  • Платформа встроенного расширенного клиента (eRCP)[37] — предназначена для расширения RCP на встраиваемые устройства. В eRCP входит набор компонентов, которые являются подмножеством компонентов RCP. Она позволит перенести модель приложения, используемого на настольных компьютерах, на другие устройства.
  • DLTK (Dynamic Languages Toolkit)[38] — интегрированная среда разработчика для динамических языков программирования.
  • Swordfish[39] — платформа для построения распределённых корпоративных информационных систем.

Последние версии

Eclipse 3.3.2 (Europa Winter)

Количество новых подпроектов (как управляемых Eclipse Foundation, так и сторонних) быстро увеличивается. Приходится координировать усилия огромного количества разработчиков и предлагать общие правила — «Eclipse Development Process».[40]

Последняя версия релиза включает в себя 21 подпроект.[41]

Eclipse 3.4 (Ganymede)

Релиз Ganymede (06.2008) включает в себя 23 подпроекта:[42]

Eclipse 3.5 (Galileo)

Последний релиз Galileo, представленный публике 24 июня 2009 года, включает в себя 33 подпроекта:[43]

Локализация на русский язык

Начиная с версии 3.1.1, выпущен языковой пакет для русификации Eclipse. Переведены на русский язык как графический интерфейс, так и документация.[44]

Модули

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

ЯзыкМодуль
C/C++CDT[45]
FortranPhotran[46]
PerlEPIC[47]
PHPPDT[48]
JavaScriptJSEclipse[49]
PythonPyDev (Eclipse)[en][50]
RubyRDT[51]
1C V81C:Enterprise DT[52]
  • Aptana — дистрибутив Eclipse и плагин, поддерживающий разработку с использованием JavaScript (все основные JS Ajax библиотеки включены в состав дистрибутива), HTML, CSS, PHP, Ruby on rails, Adobe AIR[53] и т. д.

Модуля для поддержки Pascal на данный момент нет. Вернее, есть заброшенный плагин[54], который можно возродить при желании. Ещё есть поддержка подсветки синтаксиса паскаля плагином EclipseColorer[55], но это не может считаться полноценной поддержкой языка.

Существуют также модули для создания графических интерфейсов.

Для разработки и получения отчётов и разработки аналитических BI-приложений в Eclipse имеется BIRT Project[en].

В Eclipse встроена функция установки и обновления модулей через Интернет.

Популярные приложения на базе SWT и RCP

  • IBM Rational Application Developer[en].
  • IBM Rational Software Architect.
  • IBM Lotus Notes/Domino — клиентская часть, начиная с версии 8.0.
  • Vuze — torrent клиент.
  • RSSOwl[en].
  • Jcommander[en].
  • Subclipse — Subversion.[56]
  • Bioclipse[en] — система визуализации химической и биологической информации.
  • Eclipse Trader — система биржевой торговли.[57]
  • ZipTie — фреймворк для мониторинга сетевых устройств.[58]
  • Schoolclipse — управление школой.[59]
  • Elexis — система ведения медицинской документации.
  • Zend Studio — студия разработки WEB-приложений на языке PHP.
  • Teamcenter Rich Client — «Полный» клиент популярной PLM-системы Teamcenter от Siemens PLM Software.

Поддерживаемые архитектуры и системы

Примечания

Ссылки

🔥 Top keywords: Заглавная страницаЯндексДуров, Павел ВалерьевичСлужебная:ПоискYouTubeЛунин, Андрей АлексеевичПодносова, Ирина ЛеонидовнаВКонтактеФоллаут (телесериал)WildberriesTelegramРеал Мадрид (футбольный клуб)Богуславская, Зоя БорисовнаДуров, Валерий СемёновичРоссияXVideosСписок умерших в 2024 годуЧикатило, Андрей РомановичFallout (серия игр)Список игроков НХЛ, забросивших 500 и более шайбПопков, Михаил ВикторовичOzon17 апреляИльин, Иван АлександровичMail.ruСёгун (мини-сериал, 2024)Слово пацана. Кровь на асфальтеПутин, Владимир ВладимировичЛига чемпионов УЕФАГагарина, Елена ЮрьевнаБишимбаев, Куандык ВалихановичЛига чемпионов УЕФА 2023/2024Турнир претендентов по шахматам 2024Манчестер СитиMGM-140 ATACMSРоссийский миротворческий контингент в Нагорном КарабахеЗагоризонтный радиолокаторПинапВодительское удостоверение в Российской Федерации