Eclipse
Материал из Википедии — свободной энциклопедии
Eclipse | |
Eclipse 3.3 в Ubuntu 7.10
|
|
Тип | Software development |
Разработчик | Eclipse Foundation |
ОС | Cross-platform |
Текущая версия | 3.3.2 — 29 Февраля 2008 |
Лицензия | Eclipse Public License |
Сайт | http://eclipse.org/ |
Eclipse (/iˈklɪps/, от английского «затмение»[1]) — свободный фреймворк для разработки модульных кросс-платформенных приложений (разрабатывается и поддерживается Eclipse Foundation).
Наиболее известные приложения на основе Eclipse Platform — различные «Eclipse IDE» для разработки ПО на множестве языков («Java IDE» не имеет привилегий и использует стандартный открытый API для доступа к Eclipse Platform).
Содержание |
Изначально проект разрабатывался в 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 — (англ. rich-client applications). Платформа RCP служит основой для RCP-приложений, таких как Azureus и File Arranger. Следующий слой — платформа Eclipse, представляющая собой набор расширений RCP — редакторы, панели, перспективы, модуль CVS и модуль Java Development Tools (JDT).
Eclipse написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ (см. ниже). Библиотека SWT используется вместо стандартной для Java библиотеки Swing. Она полностью зависит от низжележащей платформы (операционной системы), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает проблемы совместимости и устойчивости приложений на разных платформах.
[править] Архитектура
Основой 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 система управления системами сетевого хранения данных [2]
- BIRT (Business Intelligence and Reporting Tools) (англ.) — Web- и PDF-отчёты
- DTP (Data Tools Platform) (англ.) — разработка систем, управляемых данными (data-centric systems), в частности данными в реляционных базах; управление программами с большим числом коннекторов
- GEF (Graphical Editor Framework) (англ.) — фреймворк для построения встроенных графических редакторов
- Jazz (Jazz.net(англ.) [3](русск.)) — collaboration
- Modeling (eclipse.org/modeling/)
- EMF (eclipse.org/modeling/emf/) Среда моделирования Eclipse — средство для создания моделей и генерации кода для построения инструментов и других приложений, базирующихся на структурированной модели данных, из спецификации модели, прописанной в XMI
- UML2 ([4]) — реализация метамодели UML 2.0 для поддержки разработки инструментов моделирования
- Tools (eclipse.org/tools/)
- AspectJ ([5]) — аспектно-ориентированное расширение языка 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) — интегрированная среда разработчика для динамических языков программирования.
[править] Europa Fall (Eclipse 3.3.1)
Количество новых суб-проектов (как управляемых Eclipse Foundation, так и сторонних) быстро увеличивается. Приходится координировать усилия огромного количества разработчиков и предлагать общие правила — «Eclipse Development Process». [6]
Одновременное обновление 21 проекта:
[править] История
Первоначально Eclipse разрабатывалась фирмой IBM как преемник среды разработки IBM VisualAge. По сведениям IBM, проектирование и разработка стоили 40 миллионов долларов. Исходный код был полностью открыт и сделан доступным после того, как Eclipse был передан независимому от IBM сообществу.
В Eclipse 3.0 (2003) были выбраны спецификации Сервисной Платформы OSGi как архитектура времени выполнения.
Последняя стабильная версия программы — 3.3. Она поддерживает новые возможности, появившиеся в Java 6.0.
[править] Локализация
Начиная с версии 3.1.1, выпущен языковой пак для русификации Eclipse. Переведены на русский язык как графический интерфейс, так и документация.
[править] Модули
Для среды 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 и plugin, поддерживающий разработку с использованием JavaScript (все основные JS Ajax библиотеки включены в состав дистрибутива), HTML, CSS, Ruby on rails, Adobe AIR.
[править] Популярные приложения на базе SWT и RCP
- IBM Rational Application Developer (en)
- IBM Lotus Notes/Domino — клиентская часть, начиная версии 8.0
- Azureus
- RSSOwl (en)
- JCommander (en)
- File Arranger — файловый менеджер
- Subclipse — Subversion [7]
- Bioclipse (en) — система визуализации химической и биологической информации
- Eclipse Trader — the Stock Trading System [8]
- ZipTie — the framework for Network Inventory Management [9]
- Schoolclipse — управление школой [10]
[править] Поддерживаемые архитектуры и системы
[править] См. также
[править] Ссылки
- Официальный сайт проекта Eclipse — Есть списки почтовых рассылок, группы новостей, модули и многое другое(англ.)
- Eclipse API(англ.)
- Документация Eclipse — Документация для Eclipse SDK (1.0 to 3.1.0)(англ.)
- Модули Eclipse — Один из самых популярных каталогов модулей для Eclipse(англ.)
- EclipseWiki(англ.)
- Модули редактора Wikipedia для Eclipse — Редактор с подсветкой синтаксиса и возможностями скачивания/закачивания для текстов wikipedia.(англ.)
- модули для Eclipse 3.x(англ.)
- Rich Client Platform — Платформа расширенного клиента(англ.)
- Коллекция модулей для Eclipse(англ.)
- EclipseIDA-Interactive Disassembler Интеграция Eclipse с[11] Интерактивным дизасcемблером SDK-IDA --IdaPythonSDK+UML.(русск.)
- IBM.com/developerworks/ (англ.), Почему я преподаю Eclipse(русск.)
- Начало работы с платформой Eclipse(русск.) с сайта IBM
- Русскоязычный форум об Eclipse, форум RCP-приложения File Arranger(русск.)
- Eclipse и сопутствующие технологии(русск.)
- Обзор проекта Eclipse (русск.)
- Ставим плагины (plug-in) для IDE Eclipse(русск.)
- Бесплатный инструментарий стоимостью в миллиард(русск.)
- Обсуждение Eclipse на Forum.Ru-Board(русск.)
- EasyEclipse — варианты дистрибутивов Eclipse под-ключ для разных направлений разработки (Expert Java, Desktop Java, Server Java, Mobile Java и т. д.)(англ.)
- Teach Eclipse — уроки по Eclipse для начинающих (русск.)