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

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

Eclipse
Логотип программы Eclipse
Скриншот программы Eclipse
Тип ИСР
Автор Object Technology International[вд][2]
Разработчик Eclipse Foundation[3]
Написана на Java[4]
Интерфейс Standard Widget Toolkit
Операционные системы GNU/Linux[5], macOS[5], Windows[5] и Solaris[6]
Первый выпуск 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 миллионов долларов.[8] Исходный код полностью открыт и сделан доступным после передачи 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 недель.[9]

Релиз Дата Версия платформы Проект
2019-03 20 марта 2019 4.11 проекты 2019-03
2018-12 19 декабря 2018 4.10 проекты 2018-12
2018-09 19 сентября 2018 4.9 проекты 2018-09
Photon 27 июня 2018 4.8 проекты Photon
Oxygen 28 июня 2017 4.7 проекты Oxygen
Neon 22 июня 2016 4.6 проекты Neon
Mars 25 июня 2015 4.5 проекты Mars
Luna 6 июня 2014 4.4 проекты Luna
Kepler 26 июня 2013 4.3 проекты Kepler
Juno 27 июня 2012 3.8 и 4.2 проекты Juno
Indigo 22 июня 2011 3.7 проекты Indigo
Helios 23 июня 2010 3.6 проекты Helios
Galileo 24 июня 2009 3.5 проекты Galileo
Ganymede 25 июня 2008 3.4 проекты Ganymede
Europa 29 июня 2007 3.3 проекты Europa
Callisto 30 июня 2006 3.2 проекты Callisto
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). Её составляют следующие компоненты:

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[12] — платформа расширенного клиента, минимальный набор плагинов[13][14] для построения программы с графическим интерфейсом.

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

править

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

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

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

править

Eclipse 3.3.2 (Europa Winter)

править

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

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

Eclipse 3.4 (Ganymede)

править

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

Eclipse 3.5 (Galileo)

править

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

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

править

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

Модули

править

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

Язык Модуль
C/C++ CDT[43]
Fortran Photran[44]
Perl EPIC[45]
PHP PDT[46]
JavaScript JSEclipse[47]
Python PyDev (Eclipse)[англ.][48]
Ruby RDT[49]
1C V8 1C:Enterprise DT[50]
  • Aptana — дистрибутив Eclipse и плагин, поддерживающий разработку с использованием JavaScript (все основные JS Ajax библиотеки включены в состав дистрибутива), HTML, CSS, PHP, Ruby on rails, Adobe AIR[51] и т. д.

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

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

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

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

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

править

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

править

Примечания

править
  1. Eclipse IDE 2023-09. Дата обращения: 14 ноября 2023. Архивировано 14 ноября 2023 года.
  2. https://wiki.eclipse.org/FAQ_Where_did_Eclipse_come_from%3F
  3. Eclipse desktop & web IDEs
  4. Eclipse IDE for Java — 2006.
  5. 1 2 3 Eclipse PackagesEclipse Foundation.
  6. Eclipse 4.6.3 Release Build: 4.6.3 — 4.6.3
  7. Darryl K. Taft. Eclipse: Behind the Name (англ.). ??? (20 мая 2005). Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  8. Фреймворк Eclipse. Дата обращения: 23 ноября 2011. Архивировано 11 октября 2011 года.
  9. Simultaneous Release - Eclipsepedia. wiki.eclipse.org. Дата обращения: 1 марта 2019. Архивировано 11 августа 2020 года.
  10. PDE (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  11. Eclipse Java development tools (JDT) (англ.). Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  12. Rich Client Platform (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  13. ??? (англ.). Eclipse documentation. Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  14. ??? (англ.). Eclipse documentation. Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  15. Galileo is HERE! → Explore the Eclipse projects… (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  16. Сергей Голубев. Инициатива Aperi. ??? (15 ноября 2005). Дата обращения: 3 сентября 2009. Архивировано из оригинала 7 сентября 2012 года.
  17. BIRT Project → Business Intelligence and Reporting Tools (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  18. Eclipse Data Tools Platform (DTP) Project (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  19. Graphical Editing Framework (GEF) (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  20. Jazz Community Site (англ.). Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  21. Владимир Парамонов. IBM упростит распределённую разработку ПО. Компьюлента (31 января 2007). Дата обращения: 3 сентября 2009. Архивировано из оригинала 9 июня 2010 года.
  22. Eclipse Modeling Project (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  23. Eclipse Modeling Framework Project (EMF) (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  24. Model Development Tools (MDT) (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  25. Model Development Tools (MDT) (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  26. AspectJ (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  27. Eclipse C/C++ Development Tooling — CDT (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  28. Eclipse PHP Development Tooling — PDT. Официальный сайт. Архивировано из оригинала 25 августа 2011 года.
  29. Eclipse Test & Performance Tools Platform Project (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  30. Visual Editor Project (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  31. Web Tools Platform (WTP) Project (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  32. Eclipse Communication Framework Project Home (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  33. Device Software Development Platform Project Home (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  34. PTP — Parallel Tools Platform (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  35. embedded Rich Client Platform (eRCP) (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  36. Dynamic Languages Toolkit (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  37. Swordfish SOA Runtime Framework Project (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  38. Eclipse Development Process (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  39. Eclipse Europa Release Projects (англ.). Официальный сайт (июнь 2007). Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  40. Eclipse Ganymede Release Projects (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  41. Eclipse Galileo Release Projects (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  42. Visual Editor Translations (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  43. Eclipse C/C++ Development Tooling — CDT (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  44. Photran - An Integrated Development Environment and Refactoring Tool for Fortran (англ.). Официальный сайт. Дата обращения: 24 марта 2011. Архивировано из оригинала 25 августа 2011 года.
  45. EPIC — Eclipse Perl Integration (англ.). sourceforge.net. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  46. PHP Development Tools Project (англ.). Официальный сайт. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  47. JSEclipse:: Edit JavaScript with ease (англ.). ???. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  48. Джош Фет. Настройка Eclipse под Windows для работы с Google App Engine. ??? (июнь 2008). — Установка PyDev в Eclipse. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  49. aptana RedRails — Ruby on Rails authoring environments (англ.). ???. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  50. О выпуске ознакомительной версии нового инструмента разработки "1C:Enterprise Development Tools", версия 1.0 (10 апреля 2015). Дата обращения: 11 апреля 2015. Архивировано 1 января 2016 года.
  51. Aptana + PyDev = любовь с App Engine. ???. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  52. PasClipse (англ.). sourceforge.net. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  53. Eclipse platform plugin (англ.). sourceforge.net. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  54. Subclipse (англ.). ???. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  55. EclipseTrader Wiki → Welcome to EclipseTrader (англ.). ???. Дата обращения: 3 сентября 2009. Архивировано из оригинала 25 августа 2011 года.
  56. NetworkAuthority Inventory (англ.). ???. Дата обращения: 3 сентября 2009. Архивировано 27 сентября 2007 года.
  57. Schoolclipse (англ.). ???. Дата обращения: 3 сентября 2009. (недоступная ссылка)

Ссылки

править