Eclipse
Матеріал з Вікіпедії — вільної енциклопедії.
| Eclipse | |
|---|---|
![]() |
|
Eclipse 3.3 в Ubuntu Linux |
|
| Тип: | Засіб розробки |
| Розробник: | Eclipse Foundation |
| Стабільний випуск: | 3.5 / 24 червня 2009 |
| ОС: | багатоплатформна |
| Мова(и): | багатомовна |
| Ліцензія: | Eclipse Public License |
| Сайт: | http://www.eclipse.org/ |
Eclipse (вимовляється «і-клі́пс», від англійського «затемнення») — вільне модульне інтегроване середовище розробки програмного забезпечення. Розробляється і підтримується Eclipse Foundation.
Зміст |
[ред.] Загальний огляд
Eclipse являє собою фреймворк для розробки модульних кросс-платформових застосунків із низкою особливостей:
- можливість розробки ПЗ на багатьох мовах програмування (рідною є Java);
- крос-платформова;
- модульна, призначена для подальшого розширення незалежним розробниками;
- з відкритим вихідним кодом;
- розробляється і підтримується фондом Eclipse, куди входять такі постачальники ПЗ, як IBM, Oracle, Borland.
Спочатку проект розроблявся в IBM як корпоративний стандарт IDE, настановлений на розробки на багатьох мовах під платформи IBM. Потім проект було перейменовано на Eclipse і надано для подальшого розвитку спільноті.
Eclipse насамперед повноцінна Java IDE, націлена на групову розробку, має засоби роботи з системами контролю версій (підтримка CVS входить у поставку Eclipse, активно розвиваються кілька варіантів SVN модулів, існує підтримка VSS та інших). З огляду на безкоштовність, у багатьох організаціях Eclipse — корпоративний стандарт для розробки ПЗ на Java.
Друге призначення Eclipse — служити платформою для нових розширень. Такими стали C/C++ Development Tools (CDT), розроблювані інженерами QNX разом із IBM, засоби для підтримки інших мов різних розробників. Безліч розширень доповнює Eclipse менеджерами для роботи з базами даних, серверами застосунків та інших.
З версії 3.0 Eclipse став не монолітною IDE, яка підтримує розширення, а набором розширень. У основі лежать фреймворки OSGi, і SWT/JFace, на основі яких розроблений наступний шар — платформа і засоби розробки повноцінних клієнтських застосунків RCP (Rich Client Platform). Платформа RCP є базою для розробки різних RCP програм як торент-клієнт Azareus чи File Arranger. Наступний шар — платформа Eclipse, що є набором розширень RCP — редактори, панелі, перспективи, модуль CVS і модуль Java Development Tools (JDT).
Eclipse написана на Java, тому є платформо-незалежним продуктом, крім бібліотеки графічного інтерфейсу SWT, яка розробляється окремо для більшості поширених платформ. Бібліотека SWT використовує графічні засоби платформи (ОС), що забезпечує швидкість і звичний зовнішній вигляд інтерфейсу користувача.
Відповідно до IDC, із Eclipse працюють 2.3 мільйона розробників.
[ред.] Архітектура
Основою Eclipse є платформа розширеного клієнта (RCP — від англ. rich client platform). Її складають наступні компоненти:
- Ядро платформи (завантаження Eclipse, запуск модулів);
- OSGi (стандартне середовище постачання комплектів);
- SWT (стандартний інструментарій віджетів);
- JFace (файлові буфери, робота з текстом, текстові редактори);
- Робоче середовище Eclipse (панелі, редактори, проекції, майстри).
GUI в Eclipse написаний з використанням інструментарію SWT. Останній, на відміну від Swing (який лише емулює окремі графічні елементи використовуваної платформи), дійсно використовує графічні компоненти даної системи. Призначений для користувача інтерфейс Eclipse також залежить від проміжного шару GUI, званого JFace, який спрощує побудову призначеного для користувача інтерфейсу, що базується на SWT.
Гнучкість Eclipse забезпечується за рахунок модулів, що підключаються, завдяки чому можлива розробка не тільки на Java, але і на інших мовах, таких як C/C++, Perl, Groovy, Ruby, Python, PHP, ErLang та інших.
[ред.] Проекти Eclipse
[ред.] Платформа
- Eclipse Project (Eclipse.org) (англ.) — власне, проект Eclipse, включає в себе
- Platform (Eclipse Platform, Platform) — каркас
- PDE (Plug-in Development Environment, PDE) — інструмент розширення Eclipse-платформи за допомогою Eclipse-плагінів
- JDT (Java Development Tools, JDT) — інструмент розробки Java-програм та Eclipse-плагінів зокрема
- RCP (Rich Client Platform, RCP) — платформа розширеного клієнта, мінімальний набір плагінів (org.eclipse.core.runtime, org.eclipse.ui) для побудови програми з графічним інтерфейсом
[ред.] Приклади проектів
Крім того, у склад Eclipse входять наступні проекти (перелічені лише кілька [1]):
- Aperi (від латинського «відкривати») — open source система управління системами мережного зберігання даних
- BIRT (Business Intelligence and Reporting Tools) (англ.) — Web- і PDF-звіти
- DTP (Data Tools Platform) (англ.) — розробка систем, що управляються даними (data-centric systems), зокрема даними в реляційних базах; управління програмами з великою кількістю конекторів
- GEF (Graphical Editor Framework) (англ.) — фреймворк для побудови вбудованих графічних редакторів
- Jazz (Jazz.net(англ.) [2](рос.)) — інструмент для співпраці
- Modeling (eclipse.org/modeling/)
- EMF (eclipse.org/modeling/emf/) Середовище моделювання Eclipse — засіб для створення моделей і генерації коду для побудови інструментів та інших застосунків, що базуються на структурованій моделі даних, зі специфікації моделі, прописаної в XMI
- UML2 ([3]) — реалізація метамоделі UML 2.0 для підтримки розробки інструментів моделювання
- Tools (eclipse.org/tools/)
- AspectJ ([4]) — аспектно-орієнтоване розширення мови Java
- CDT (C/C++ Development Tools) (англ.) — середовище розробки на C/C++ (C/C++ IDE)
- TPTP (Test & Performance Tools Platform) (англ.) — розробка інструментів тестування, — зневаджувачі, профайлери тощо
- VE (Visual Editor Project) (англ.) — розробка інструментів GUI
- WTP (Web Tools Platform Project) (англ.) — інструменти розробки веб-застосунків J2EE
- Комунікаційне середовище Eclipse (ECF) націлене на створення комунікаційних застосунків на платформі Eclipse.
- Проект розробки програмного забезпечення для приладів (DSDP)
- Платформа паралельних інструментів (PTP) забезпечує портовану, масштабовану, засновану на стандартах платформу паралельних інструментів, яка дозволить полегшити інтеграцію інструментів, специфічних для паралельної комп'ютерної архітектури.
- Платформа вбудованого розширеного клієнта (eRCP) — призначена для розширення RCP на вбудовані пристрої. У eRCP входить набір компонентів, які є підмножиною компонентів RCP. Вона дозволить перенести модель застосунку, використовного на настільних комп'ютерах, на інші пристрої.
- DLTK (DLTK) — інтегроване середовище розробника для динамічних мов програмування.
- Jetty
[ред.] Координація
Кількість нових підпроектів (як керованих Eclipse Foundation, так і сторонніх) швидко збільшується. Доводиться координувати зусилля величезної кількості розробників і пропонувати загальні правила — «Eclipse Development Process» (Project Lifecycle).
Одночасне оновлення 21 проекту:
[ред.] Модулі
Для середовища Eclipse існує цілий ряд вільних і комерційних модулів. Спочатку середовище було розроблене для мови Java, але в даний час існують численні розширення для підтримки інших мов, як наприклад
- C/С++ — CDT Eclipse’s C/C++ Development Tooling(англ.)
- Perl — модуль EPIC, Eclipse Perl Integration(англ.)
- PHP — PDT PHP Development Tools(англ.)
- JavaScript — JSEclipse Javascript plugin for the Eclipse environment(англ.)
- Python — Pydev, Python Development Environment(англ.)
- Ruby — RDT, Ruby Development Tools(англ.)
- тощо
Існують також модулі для створення графічних інтерфейсів.
Для розробки і отримання звітів і розробки аналітичних BI-застосунків в Eclipse існуєen:BIRT_Project.
У Eclipse вбудована функція установки і оновлення модулів через інтернет.
Aptana (aptana.com) — дистрибутив Eclipse і плагін, що підтримує розробку з використанням JavaScript (всі основні JS Ajax бібліотеки включені до складу дистрибутива), HTML, CSS, Ruby on rails, Adobe AIR.
[ред.] Історія
- Листопад 1998, IBM Software Group почали створення платформи інструментів розробки. Спочатку було створено Java IDE на базі ресурсів Object Technology International (OTI) lab.
- 2001
- 7 листопада - Eclipse стає проектом з відкритим кодом, викладено версію 1.0 і розроблювану 2.0. Підтримується Windows і Linux (інтерфейс Motif)
- 29 листопада - створено Eclipse.org Consortium
- 1 грудня — опубліковано план розробки версії 2.0
- 12 грудня — оглошено і викладено додаток для розробки C/C++
- 2002
- 2003
- 27 березня — версія 2.1
- 9 червня — засновано проект Web Tools Platform
- 2004, 25 червня — версія 3.0
- 2005, 27 червня — версія 3.1
- 2006, 29 червня — версія 3.2 (Callisto)
- 2007, 29 червня — версія 3.3 (Europa)
- 2008, 25 червня — версія 3.4 (Ganymede)
[ред.] Одночасні Релізи
Від 2006 року Eclipse Foundation скоординовано випускає одночасні релізи. Кожен редіз включає поруч з Eclipse Platform також різні інші проекти Eclipse. Мета цього — забезпечити представлення програмного забезпечення Eclipse зі сталим набором можливостей і версій. Нібито, це спрощує застосування і підтримку для корпоративних систем, і решта споживачів може відчути зручність в такій системі. Відтак, кожен одночасний реліз називається ім'м одного з супутників Юпітера, і це відбувається в останні дні червня.
| Реліз | Дата | Версія платформи | Проект |
|---|---|---|---|
| Callisto | 30 червня 2006 | 3.2 | Callisto projects |
| Europa | 29 червня 2007 | 3.3 | Europa projects |
| Ganymede | 25 червня 2008 | 3.4 | Ganymede projects |
[ред.] Популярність
| IDE | 2002 | 2003 | 2004 | 2005 | 2006 |
|---|---|---|---|---|---|
| Eclipse | - | 35% | 56% | 65% | 70% |
| IDE | частка |
|---|---|
| Eclipse | 45% |
[ред.] Виноски
[ред.] Література
Видано близько 50 книг про Eclipse [5], в тому числі 12 книг серії The Eclipse Series від Addison-Wesley.
[ред.] Див. також
[ред.] Посилання
- Офіційний сайт проекту Eclipse — Є списки поштових розсилок, групи новин, модулі й багато іншого
- Eclipse АПІ
- Документація Eclipse — Документація для Eclipse SDK (1.0 to 3.1.0)
- Модулі Eclipse — Один з найбільш популярних каталогів модулів для Eclipse
- EclipseWiki


