Початок коду йде від IBM VisualAge[3], він був розрахований на розробників Java, складаючи Java Development Tools (JDT). Але користувачі могли розширяти можливості, встановлюючи написані для програмного каркаса Eclipse плагіни, такі як інструменти розробки під інші мови програмування, і могли писати і вносити свої власні плагіни і модулі.
Спочатку проєкт розроблявся в 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 (стандартне середовище постачання комплектів);
GUI в Eclipse написаний з використанням інструментарію SWT. Останній, на відміну від Swing (який лише емулює окремі графічні елементи використовуваної платформи), дійсно використовує графічні компоненти даної системи. Призначений для користувача інтерфейс Eclipse також залежить від проміжного шару GUI, званого JFace, який спрощує побудову призначеного для користувача інтерфейсу, що базується на SWT.
Гнучкість Eclipse забезпечується за рахунок модулів, що підключаються, завдяки чому можлива розробка не тільки на Java, але і на інших мовах, таких як C/C++, Perl, Groovy, Ruby, Python, PHP, ErLang та інших.
DTP (Data Tools Platform [Архівовано 25 серпня 2011 у WebCite]) (англ.) — розробка систем, що управляються даними (data-centric systems), зокрема даними в реляційних базах; управління програмами з великою кількістю конекторів
EMF (eclipse.org/modeling/emf/ [Архівовано 25 серпня 2011 у WebCite]) Середовище моделювання Eclipse — засіб для створення моделей і генерації коду для побудови інструментів та інших застосунків, що базуються на структурованій моделі даних, зі специфікації моделі, прописаної в XMI
майстри і провідник вебслужб, інструменти тестування WS-I
інструменти для доступу і побудови запитів і моделей баз даних
Комунікаційне середовище Eclipse (ECF) націлене на створення комунікаційних застосунків на платформі Eclipse.
Проєкт розробки програмного забезпечення для приладів (DSDP [Архівовано 25 серпня 2011 у WebCite])
Pulsar — інструментальна платформа для уніфікованої розробки застосунків для смартфонів
Платформа паралельних інструментів (PTP [Архівовано 25 серпня 2011 у WebCite]) забезпечує портовану, масштабовану, засновану на стандартах платформу паралельних інструментів, яка дозволить полегшити інтеграцію інструментів, специфічних для паралельної комп'ютерної архітектури.
Платформа вбудованого розширеного клієнта (eRCP [Архівовано 25 серпня 2011 у WebCite]) — призначена для розширення RCP на вбудовані пристрої. У eRCP входить набір компонентів, які є підмножиною компонентів RCP. Вона дозволить перенести модель застосунку, використовного на настільних комп'ютерах, на інші пристрої.
Кількість нових підпроєктів (як керованих Eclipse Foundation, так і сторонніх) швидко збільшується. Доводиться координувати зусилля величезної кількості розробників і пропонувати загальні правила — «Eclipse Development Process» (Project Lifecycle [Архівовано 25 серпня 2011 у WebCite]).
Модулі
Для середовища Eclipse існує цілий ряд вільних і комерційних модулів. Спочатку середовище було розроблене для мови Java, але в нині існують численні розширення для підтримки інших мов, як наприклад
Листопад 1998, IBM Software Group почали створення платформи інструментів розробки. Спочатку було створено Java IDE на базі ресурсів Object Technology International (OTI) lab.
12 грудня — оголошено і викладено додаток для розробки C/C++
2002
27 червня — версія 2.0. Нові платформи — Linux з інтерфейсом GTK, Solaris, QNX, AIX, HP-UX
23 вересня — офіційно викладена версія для Mac OS.
2003
27 березня — версія 2.1
9 червня — засновано проєкт Web Tools Platform
Одночасні релізи
Від 2006 року Eclipse Foundation скоординовано випускає одночасні релізи. Кожен реліз включає поруч з Eclipse Platform також різні інші проєкти Eclipse. Мета цього — забезпечити представлення програмного забезпечення Eclipse зі сталим набором можливостей і версій. Нібито, це спрощує застосування і підтримку для корпоративних систем, і решта споживачів може відчути зручність в такій системі. Відтак, кожен одночасний реліз називається ім'ям одного з супутниківЮпітера, і це відбувається в останні дні червня.