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

Eclipse ( / Iklɪps / , Від англ. затемнення [1]) - вільна інтегрована середовище розробки модульних кроссплатформенних додатків. Розвивається і підтримується Eclipse Foundation.

Найбільш відомі програми на основі Eclipse Platform - різні "Eclipse IDE "для розробки ПЗ на безлічі мов (наприклад, найбільш популярний" Java IDE ", і підтримується спочатку, не покладається на будь закриті розширення, використовує стандартний відкритий API для доступу до Eclipse Platform).


1. Історія

Спочатку Eclipse розроблялася фірмою IBM як наступник середовища розробки IBM VisualAge, в якості корпоративного стандарту IDE для розробки на різних мовах під платформи IBM. За відомостями IBM, проектування і розробка коштували 40000000 доларів. [2] Вихідний код був повністю відкритий і зроблений доступним після того, як 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.

Реліз Дата Версія платформи Проект
Kepler 2013 4.x проекти 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

2. Переваги

Eclipse служить в першу чергу платформою для розробки розширень, чим він і завоював популярність: будь-який розробник може розширити Eclipse своїми модулями. Вже існують Java Development Tools (JDT), C / C + + Development Tools (CDT), розроблювані інженерами QNX спільно з IBM, і засоби для мов Ada (GNATbench, Hibachi), COBOL, FORTRAN, PHP і ін від різних розробників. Безліч розширень доповнює середу Eclipse менеджерами для роботи з базами даних, серверами додатків і ін

Eclipse JDT (Java Development Tools) - найбільш відомий модуль, націлений на групову розробку: середа інтегрована з системами керування версіями - CVS, GIT в основний поставці, для інших систем (наприклад, Subversion, MS SourceSafe) існують плагіни. Також пропонує підтримку зв'язку між IDE і системою управління завданнями (помилками). В основній поставці включена підтримка трекера помилок Bugzilla, також є безліч розширень для підтримки інших трекерів ( Trac, Jira та ін.) В силу безкоштовності і високої якості, Eclipse в багатьох організаціях є корпоративним стандартом для розробки додатків.

Eclipse написана на Java, тому є платформно-незалежним продуктом, за винятком бібліотеки SWT, яка розробляється для всіх поширених платформ (див. нижче). Бібліотека SWT використовується замість стандартної для Java бібліотеки Swing. Вона повністю спирається на нижележащую платформу (операційну систему), що забезпечує швидкість і натуральний зовнішній вигляд для користувача інтерфейсу, але іноді викликає на різних платформах проблеми сумісності і стійкості додатків.


3. Архітектура

Основою Eclipse є платформа розширеного клієнта ( RCP - від англ. rich client platform ). Її складають наступні компоненти:

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

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


4. Проекти Eclipse

4.1. Платформа

  • Eclipse Project - власне проект Eclipse, включає в себе
  • Rich Client Platform [5] - платформа розширеного клієнта, мінімальний набір плагінів [6] [7] для побудови програми з графічним інтерфейсом

4.2. Приклади проектів

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

  • Aperi (від лат. відкривати ) - Open source система управління системами мережного зберігання даних [9]
  • BIRT (Business Intelligence and Reporting Tools) [10] - Web-й PDF -звіти
  • DTP (Data Tools Platform) [11] - розробка систем, керованих даними (data-centric systems), зокрема даними в реляційних базах; управління програмами з великим числом конекторів
  • GEF (Graphical Editing Framework) [12] - фреймворк для побудови вбудованих графічних редакторів
  • Jazz [13] [14] - клієнт-серверна платформа для взаємодії розробників в процесі розробки проекту (включає чат, журнал подій та ін), що будується поверх Eclipse (входить в лінійку продуктів IBM Rational)
  • Modeling [15]
    • EMF [16], середа моделювання Eclipse - засіб для створення моделей і генерації коду для побудови інструментів та інших програм, що базуються на структурованій моделі даних, зі специфікації моделі, прописаної в XMI
    • UML2 [17] - реалізація метамоделі UML 2.0 для підтримки розробки інструментів моделювання
  • TPTP (Test & Performance Tools Platform) [22] - розробка інструментів тестування, - відладчики, профайлера і т. п.
  • VE (Visual Editor Project) [23] - розробка інструментів GUI
  • WTP (Web Tools Platform Project) [24] - інструменти розробки веб-додатків J2EE
    • редактори HTML, JavaScript, CSS, JSP, SQL, XML, DTD, XSD і WSDL
    • графічні редактори для XSD і WSDL
    • мастери і провідник веб-служб, інструменти тестування WS-I
    • інструменти для доступу й побудови запитів і моделей баз даних
  • Комунікаційна середу Eclipse (ECF) [25] націлена на створення комунікаційних додатків на платформі Eclipse.
  • Проект розробки програмного забезпечення для пристроїв (DSDP) [26]
  • Платформа паралельних інструментів (PTP) [27] забезпечує портіруемую, масштабовану, засновану на стандартах платформу паралельних інструментів, яка дозволить полегшити інтеграцію інструментів, специфічних для паралельних комп'ютерних архітектур.
  • Платформа вбудованого розширеного клієнта (eRCP) [28] - призначена для розширення RCP на вбудовані пристрої. У eRCP входить набір компонентів, які є підмножиною компонентів RCP. Вона дозволить перенести модель додатка, використовуваного на настільних комп'ютерах, на інші пристрої.
  • DLTK (Dynamic Languages ​​Toolkit) [29] - інтегрована середовище розробника для динамічних мов програмування.
  • Swordfish [30] - платформа для побудови розподілених корпоративних інформаційних систем.

5. Останні версії

5.1. Eclipse 3.3.2 (Europa Winter)

Кількість нових підпроектів (як керованих Eclipse Foundation, так і сторонніх) швидко збільшується. Доводиться координувати зусилля величезної кількості розробників і пропонувати загальні правила - "Eclipse Development Process". [31]

Остання версія релізу включає в себе 21 підпроект. [32]

5.2. Eclipse 3.4 (Ganymede)

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

  • 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

5.3. Eclipse 3.5 (Galileo)

Останній реліз Galileo, представлений публіці 24 червня 2009, включає в себе 33 підпроекти: [34]

  • 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

6. Локалізація

Починаючи з версії 3.1.1, випущений мовний пакет для русифікації Eclipse. Переведені на російську мову як графічний інтерфейс, так і документація. [35]

7. Модулі

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

Мова Модуль
C / С + + CDT [36]
Fortran Photran [37]
Perl EPIC [38]
PHP PDT [39]
JavaScript JSEclipse [40]
Python PyDev (Eclipse) (англ.) [41]
Ruby RDT [42]
  • Aptana - дистрибутив Eclipse і плагін, що підтримує розробку з використанням JavaScript (всі основні JS Ajax бібліотеки включені до складу дистрибутива), HTML, CSS, PHP, Ruby on rails, Adobe AIR [43] і т. д.

Модуля для підтримки Pascal на даний момент немає. Вірніше, є занедбаний плагін [44], який можна відродити при бажанні. Ще є підтримка підсвічування синтаксису паскаля плагином EclipseColorer [45], але це не може вважатися повноцінною підтримкою мови.

Існують також модулі для створення графічних інтерфейсів.

Для розробки та отримання звітів та розробки аналітичних BI-додатків в Eclipse є BIRT Project (англ.).

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


8. Популярні додатки на базі SWT і RCP

  • IBM Rational Application Developer (англ.)
  • IBM Rational Software Architect
  • IBM Lotus Notes / Domino - клієнтська частина, починаючи з версії 8.0
  • Vuze - torrent клієнт
  • RSSOwl (англ.)
  • Jcommander (англ.)
  • Subclipse - Subversion [46]
  • Bioclipse (англ.) - система візуалізації хімічної й біологічної інформації
  • Eclipse Trader - система біржової торгівлі [47]
  • ZipTie - фреймворк для моніторингу мережевих пристроїв [48]
  • Schoolclipse - управління школою [49]
  • Elexis - система ведення медичної документації
  • Zend Studio - студія розробки WEB-додатків на мові PHP.
  • Teamcenter Rich Client - "Повний" клієнт популярної PLM системи Teamcenter від Siemens PLM Software

9. Підтримувані архітектури та системи


Примітки

  1. Darryl K. Taft. Eclipse: Behind the Name - www.eweek.com/article2/0, 1759,1818211,00. asp (Англ.) . ??? (20 травня 2005). Читальний - www.webcitation.org/61CrQx8aI з першоджерела 25 серпня 2011.
  2. Фреймворк Eclipse - www.activemoda.ru/tech/eclipse/
  3. PDE - www.eclipse.org/pde/ (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrS3g5R з першоджерела 25 серпня 2011.
  4. Eclipse Java development tools (JDT) - eclipse.org / jdt / (Англ.) . Читальний - www.webcitation.org/61CrShLpj з першоджерела 25 серпня 2011.
  5. Rich Client Platform - wiki.eclipse.org / index.php / Rich_Client_Platform (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrTEHm9 з першоджерела 25 серпня 2011.
  6. ??? - (Англ.) . Eclipse documentation. Офіційний сайт. Читальний - www.webcitation.org/61CrTqWLf з першоджерела 25 серпня 2011.
  7. ??? - (Англ.) . Eclipse documentation. Офіційний сайт. Читальний - www.webcitation.org/61CrUQzSg з першоджерела 25 серпня 2011.
  8. Galileo is HERE! → Explore the Eclipse projects ... - www.eclipse.org/projects/ (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrV1z4n з першоджерела 25 серпня 2011.
  9. Сергій Голубєв. Ініціатива Aperi - www.pcweek.ru/themes/detail.php?ID=71581. ??? (15 листопада 2005). Читальний - www.webcitation.org/61CrVgFDa з першоджерела 25 серпня 2011.
  10. BIRT Project → Business Intelligence and Reporting Tools - eclipse.org / birt / (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrYKcDt з першоджерела 25 серпня 2011.
  11. Eclipse Data Tools Platform (DTP) Project - eclipse.org / datatools / (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrYxdPq з першоджерела 25 серпня 2011.
  12. Graphical Editing Framework (GEF) - eclipse.org / gef / (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrZTr9q з першоджерела 25 серпня 2011.
  13. Jazz Community Site - jazz.net / (Англ.) . Читальний - www.webcitation.org/61Cra3fC9 з першоджерела 25 серпня 2011.
  14. Володимир Парамонов. IBM спростить розподілену розробку ПЗ - soft.compulenta.ru/304563 /. Компьюлента (31 січня 2007).
  15. Eclipse Modeling Project - eclipse.org / modeling / (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrgzbUg з першоджерела 25 серпня 2011.
  16. Eclipse Modeling Framework Project (EMF) - www.eclipse.org/modeling/emf/ (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrhaGpP з першоджерела 25 серпня 2011.
  17. Model Development Tools (MDT) - www.eclipse.org/modeling/mdt/?project=uml2 (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CriBv0C з першоджерела 25 серпня 2011.
  18. Model Development Tools (MDT) - eclipse.org / tools / (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61Crim7Tb з першоджерела 25 серпня 2011.
  19. AspectJ - eclipse.org / aspectj / (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrjFWVy з першоджерела 25 серпня 2011.
  20. Eclipse C / C + + Development Tooling - CDT - eclipse.org / cdt (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrjlPDq з першоджерела 25 серпня 2011.
  21. Eclipse PHP Development Tooling - PDT - eclipse.org / pdt. Офіційний сайт. Читальний - www.webcitation.org/61CrkKtDX з першоджерела 25 серпня 2011.
  22. Eclipse Test & Performance Tools Platform Project - eclipse.org / tptp / (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61Crl26OP з першоджерела 25 серпня 2011.
  23. Visual Editor Project - www.eclipse.org / vep / WebContent / main.php (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrlbijJ з першоджерела 25 серпня 2011.
  24. Web Tools Platform (WTP) Project - eclipse.org / webtools / index.html (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61Crm9R25 з першоджерела 25 серпня 2011.
  25. Eclipse Communication Framework Project Home - www.eclipse.org/ecf/ (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrmYyMJ з першоджерела 25 серпня 2011.
  26. Device Software Development Platform Project Home - www.eclipse.org/dsdp/ (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61Crn7g1H з першоджерела 25 серпня 2011.
  27. PTP - Parallel Tools Platform - eclipse.org / ptp (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrncFav з першоджерела 25 серпня 2011.
  28. embedded Rich Client Platform (eRCP) - www.eclipse.org / ercp (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CroCGMn з першоджерела 25 серпня 2011.
  29. Dynamic Languages ​​Toolkit - www.eclipse.org/dltk/ (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61Cromntw з першоджерела 25 серпня 2011.
  30. Swordfish SOA Runtime Framework Project - www.eclipse.org/swordfish/ (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrpL6ra з першоджерела 25 серпня 2011.
  31. Eclipse Development Process - www.eclipse.org / projects / dev_process / development_process.php # Project_Lifecycle (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrpsQj4 з першоджерела 25 серпня 2011.
  32. Eclipse Europa Release Projects - www.eclipse.org / europa / projects.php (Англ.) . Офіційний сайт (червень 2007). Читальний - www.webcitation.org/61CrqStqD з першоджерела 25 серпня 2011.
  33. Eclipse Ganymede Release Projects - www.eclipse.org / ganymede / projects.php (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61Crqxrqx з першоджерела 25 серпня 2011.
  34. Eclipse Galileo Release Projects - www.eclipse.org / galileo / projects.php (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrrWRC1 з першоджерела 25 серпня 2011.
  35. Visual Editor Translations - www.eclipse.org / vep / WebContent / docs / translations / translation.html (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61Crs7Uy0 з першоджерела 25 серпня 2011.
  36. Eclipse C / C + + Development Tooling - CDT - www.eclipse.org / cdt / index.php (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61Crsekve з першоджерела 25 серпня 2011.
  37. Photran - An Integrated Development Environment and Refactoring Tool for Fortran - www.eclipse.org/photran/ (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CrtD3N7 з першоджерела 25 серпня 2011.
  38. EPIC - Eclipse Perl Integration - sourceforge.net / projects / epic (Англ.) . sourceforge.net. Читальний - www.webcitation.org/61CrtiE7U з першоджерела 25 серпня 2011.
  39. PHP Development Tools Project - www.eclipse.org/pdt/ (Англ.) . Офіційний сайт. Читальний - www.webcitation.org/61CruHmId з першоджерела 25 серпня 2011.
  40. JSEclipse :: Edit JavaScript with ease - www.interaktonline.com/Products/Eclipse/JSEclipse/Overview/ (Англ.) . ???. Читальний - www.webcitation.org/61Cruwq6F з першоджерела 25 серпня 2011.
  41. Джош Фет. Налаштування Eclipse під Windows для роботи з Google App Engine - www.googleappengine.ru / articles / eclipse.html. ??? (Червень 2008). - Установка PyDev в Eclipse. Читальний - www.webcitation.org/61CrvWFR7 з першоджерела 25 серпня 2011.
  42. aptana RedRails - Ruby on Rails authoring environments - www.aptana.com / rails (Англ.) . ???. Читальний - www.webcitation.org/61Crw0xga з першоджерела 25 серпня 2011.
  43. Aptana + PyDev = любов з App Engine - techwork.ru/2008/08/10/aptana-pydev-love-for-app-engine /. ???. Читальний - www.webcitation.org/61CrwYDpG з першоджерела 25 серпня 2011.
  44. PasClipse - sourceforge.net / projects / pasclipse (Англ.) . sourceforge.net. Читальний - www.webcitation.org/61Crx3qNm з першоджерела 25 серпня 2011.
  45. Eclipse platform plugin - colorer.sourceforge.net / eclipsecolorer / (Англ.) . sourceforge.net. Читальний - www.webcitation.org/61CrxbIZD з першоджерела 25 серпня 2011.
  46. Subclipse - subclipse.tigris.org / (Англ.) . ???. Читальний - www.webcitation.org/61Cry7qKZ з першоджерела 25 серпня 2011.
  47. EclipseTrader Wiki → Welcome to EclipseTrader - www.eclipsetrader.org/ (Англ.) . ???. Читальний - www.webcitation.org/61Crym2Zi з першоджерела 25 серпня 2011.
  48. NetworkAuthority Inventory - ziptie.org / (Англ.) . ???. (Недоступна посилання - історія - web.archive.org / web / * / http://ziptie.org/)
  49. Schoolclipse (Англ.) . ???.