Eclipse

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск
Eclipse
Image:Eclipse-logo.png
Eclipse 3.3 в Ubuntu 7.10
Тип Разработка программного обеспечения
Разработчик Eclipse Foundation
Написана на Java
ОС Кроссплатформенное программное обеспечение
Версия 3.5 — 24 июня 2009
Лицензия Eclipse Public License
Сайт eclipse.org

Eclipse (/iˈklɪps/, от англ. затмение[1]) — свободный фреймворк для разработки модульных кроссплатформенных приложений. Разрабатывается и поддерживается Eclipse Foundation.

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

Содержание

[править] История

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

В Eclipse 3.0 (2003 год) были выбраны спецификации сервисной платформы OSGi как архитектура времени выполнения.

Последняя стабильная версия программы — 3.5 (Galileo). Она, как и предшествующая ей версия 3.4 (Ganymede), поддерживает новые возможности, появившиеся в Java 6.0, содержит обновления ключевой OSGi-модели компонентов Equinox.

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

Eclipse — в первую очередь полноценная Java IDE, нацеленная на групповую разработку, снабжённая средствами для работы с системами контроля версий (поддержка CVS входит в поставку Eclipse, активно развиваются несколько вариантов SVN-модулей, существует поддержка VSS и других). В силу бесплатности и высокого качества во многих организациях Eclipse — корпоративный стандарт для разработки приложений.

Второе назначение Eclipse — служить платформой для разработки новых расширений (чем и завоевал популярность — любой разработчик может расширить Eclipse своими модулями). Таковыми стали C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, COBOL, FORTRAN, PHP средства от различных разработчиков. Множество расширений дополняет Eclipse менеджерами для работы с базами данных, серверами приложений и др.

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

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 и прочие.

[править] Проекты Eclipse

[править] Платформа

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

[править] Примеры проектов

Кроме того в состав Eclipse входят следующие проекты (перечислены лишь некоторые)[7]:

  • Aperi (от лат. открывать) — open source система управления системами сетевого хранения данных[8]
  • BIRT (Business Intelligence and Reporting Tools)[9] — Web- и PDF-отчёты
  • DTP (Data Tools Platform)[10] — разработка систем, управляемых данными (data-centric systems), в частности данными в реляционных базах; управление программами с большим числом коннекторов
  • GEF (Graphical Editor Framework)[11] — фреймворк для построения встроенных графических редакторов
  • Jazz[12][13] — клиент-серверная платформа для взаимодействия разработчиков в процессе разработки проекта (включает чат, журнал событий и др.), строящаяся поверх Eclipse (входит в линейку продуктов IBM Rational)
  • Modeling[14]
    • EMF[15], Среда моделирования Eclipse — средство для создания моделей и генерации кода для построения инструментов и других приложений, базирующихся на структурированной модели данных, из спецификации модели, прописанной в XMI
    • UML2[16] — реализация метамодели UML 2.0 для поддержки разработки инструментов моделирования
  • TPTP (Test & Performance Tools Platform)[20] — разработка инструментов тестирования, — отладчики, профайлеры и т. п.
  • VE (Visual Editor Project)[21] — разработка инструментов GUI
  • WTP (Web Tools Platform Project)[22] — инструменты разработки веб-приложений J2EE
  • Коммуникационная среда Eclipse (ECF)[23] нацелена на создание коммуникационных приложений на платформе Eclipse.
  • Проект разработки программного обеспечения для устройств (DSDP)[24]
  • Платформа параллельных инструментов (PTP)[25] обеспечивает портируемую, масштабируемую, основанную на стандартах платформу параллельных инструментов, которая позволит облегчить интеграцию инструментов, специфических для параллельных компьютерных архитектур.
  • Платформа встроенного расширенного клиента (eRCP)[26] — предназначена для расширения RCP на встраиваемые устройства. В eRCP входит набор компонентов, которые являются подмножеством компонентов RCP. Она позволит перенести модель приложения, используемого на настольных компьютерах, на другие устройства.
  • DLTK (Dynamic Languages Toolkit)[27] — интегрированная среда разработчика для динамических языков программирования.
  • Swordfish[28] — платформа для построения распределённых корпоративных информационных систем.

[править] Последние версии

[править] Eclipse 3.3.2 (Europa Winter)

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

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

[править] Eclipse 3.4 (Ganymede)

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

  • 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 подпроекта:[32]

  • 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)
  • EclipseLink Project 1.1.2
  • Accessibility Tools Framework 0.7.0
  • Business Intelligence and Reporting Tools (BIRT)
  • C/C++ Development Tooling (CDT) 6.0
  • Dali Java Persistence Tools 2.2
  • Data Tools Platform 1.7 (Galileo)
  • Dynamic Languages Toolkit 1.0
  • Equinox 3.5
  • GEF — Graphical Editor Framework 3.5.0
  • Graphical Modeling Framework 2.2.0
  • Java Workflow Tooling JWT 0.6
  • JDT — Java development tools
  • M2T JET (Java Emitter Templates) — aka JET2 M2T JET 1.0.0 (Galileo)
  • Memory Analyzer 0.8.0
  • Mobile Tools for Java
  • Model To Text (M2T) 1.0.0
  • Model-to-Model Transformation (M2M) Galileo Simultaneous Release
  • Monitoring Tools 4.6
  • Mylyn 3.2
  • PHP Development Tools 2.1.0
  • Rich Ajax Platform 1.2
  • Riena Platform Project 1.1.0.
  • SCA Tools 2.0.0
  • SOA Tools 2.0
  • Source Editing 3.1.0 (Galileo)
  • Swordfish 0.9.0
  • Target Management 3.1
  • Test and Performance Tools Platform Project 4.5.3
  • Testing Tools TPTP v4.6
  • Textual Modeling Framework org.eclipse.xtext
  • Tools for mobile Linux 0.3
  • TPTP Platform TPTP v4.6
  • Tracing & Profiling Tools TPTP v4.6


[править] Локализация

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

[править] Модули

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

Язык Модуль
C/С++ CDT[34]
Perl EPIC[35]
PHP PDT[36]
JavaScript JSEclipse[37]
Python PyDev (Eclipse) (англ.)[38]
Ruby RDT[39]
  • Aptana — дистрибутив Eclipse и плагин, поддерживающий разработку с использованием JavaScript (все основные JS Ajax библиотеки включены в состав дистрибутива), HTML, CSS, PHP, Ruby on rails, Adobe AIR[40] и т. д.

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

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

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

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

[править] Популярные приложения на базе SWT и RCP

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

[править] Примечания

  1. Darryl K. Taft. Eclipse: Behind the Name (англ.).  ??? (20 мая 2005). Проверено 3 июля 2009.
  2. PDE (англ.). Официальный сайт. Проверено 3 июля 2009.
  3. Eclipse Java development tools (JDT) (англ.). Проверено 3 июля 2009.
  4. Rich Client Platform (англ.). Официальный сайт. Проверено 3 июля 2009.
  5. ??? (англ.). Eclipse documentation. Официальный сайт. Проверено 3 июля 2009.
  6. ??? (англ.). Eclipse documentation. Официальный сайт. Проверено 3 июля 2009.
  7. Galileo is HERE! → Explore the Eclipse projects… (англ.). Официальный сайт. Проверено 3 июля 2009.
  8. Сергей Голубев. Инициатива Aperi.  ??? (15 ноября 2005). Проверено 3 июля 2009.
  9. BIRT Project → Business Intelligence and Reporting Tools (англ.). Официальный сайт. Проверено 3 июля 2009.
  10. Eclipse Data Tools Platform (DTP) Project (англ.). Официальный сайт. Проверено 3 июля 2009.
  11. Graphical Editing Framework (GEF) (англ.). Официальный сайт. Проверено 3 июля 2009.
  12. Jazz Community Site (англ.). Проверено 3 июля 2009.
  13. Владимир Парамонов. IBM упростит распределённую разработку ПО. Компьюлента (31 января 2007). Проверено 3 июля 2009.
  14. Eclipse Modeling Project (англ.). Официальный сайт. Проверено 3 июля 2009.
  15. Eclipse Modeling Framework Project (EMF) (англ.). Официальный сайт. Проверено 3 июля 2009.
  16. Model Development Tools (MDT) (англ.). Официальный сайт. Проверено 3 июля 2009.
  17. Model Development Tools (MDT) (англ.). Официальный сайт. Проверено 3 июля 2009.
  18. AspectJ (англ.). Официальный сайт. Проверено 3 июля 2009.
  19. Eclipse C/C++ Development Tooling — CDT (англ.). Официальный сайт. Проверено 3 июля 2009.
  20. Eclipse Test & Performance Tools Platform Project (англ.). Официальный сайт. Проверено 3 июля 2009.
  21. Visual Editor Project (англ.). Официальный сайт. Проверено 3 июля 2009.
  22. Web Tools Platform (WTP) Project (англ.). Официальный сайт. Проверено 3 июля 2009.
  23. Eclipse Communication Framework Project Home (англ.). Официальный сайт. Проверено 3 июля 2009.
  24. DSDP
  25. PTP
  26. eRCP
  27. http://www.eclipse.org/dltk/
  28. http://www.eclipse.org/swordfish/
  29. http://www.eclipse.org/projects/dev_process/development_process.php#Project_Lifecycle
  30. http://www.eclipse.org/europa/projects.php
  31. http://www.eclipse.org/ganymede/projects.php
  32. http://www.eclipse.org/galileo/projects.php
  33. Visual Editor Translations
  34. Eclipse’s C/C++ Development Tooling(англ.)
  35. Eclipse Perl Integration(англ.)
  36. PHP Development Tools(англ.)
  37. Javascript plugin for the Eclipse environment(англ.)
  38. Установка PyDev в Eclipse
  39. Ruby Development Tools(англ.)
  40. Aptana + PyDev = любовь с App Engine
  41. http://subclipse.tigris.org/
  42. http://eclipsetrader.sourceforge.net/
  43. http://ziptie.org/
  44. https://schoolclipse.dev.java.net/

[править] См. также

[править] Ссылки

Источник — «http://ru.wikipedia.org/wiki/Eclipse»