Eclipse (среда разработки)
Eclipse | |
Файл:Eclipse-logo.png | |
Eclipse 3.3 в Ubuntu 7.10
| |
Тип | Разработка программного обеспечения |
Разработчик | Eclipse Foundation |
Написана на | Java |
ОС | Кроссплатформенное программное обеспечение |
Язык интерфейса | Многоязыковой |
Версия | 3.5.1 (Galileo) (17 сентября 2009) |
Тестовая версия | 3.6M2 (17 сентября 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, в качестве корпоративного стандарта IDE для разработки на разных языках под платформы IBM. По сведениям IBM, проектирование и разработка стоили 40 миллионов долларов. Исходный код был полностью открыт и сделан доступным после того, как 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).
Последняя стабильная версия программы — 3.5 (Galileo). Она, как и предшествующая ей версия 3.4 (Ganymede), поддерживает новые возможности, появившиеся в Java 6.0, и содержит обновления ключевой OSGi-модели компонентов Equinox.
Преимущества
Eclipse — в первую очередь полноценная Java IDE, нацеленная на групповую разработку: поддержка CVS входит в поставку Eclipse, активно развиваются несколько вариантов SVN-модулей, существует поддержка VSS и других. В силу бесплатности и высокого качества, Eclipse во многих организациях является корпоративным стандартом для разработки приложений.
Второе назначение Eclipse — служить платформой для разработки новых расширений, чем он и завоевал популярность: любой разработчик может расширить Eclipse своими модулями. Уже существуют C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, и средства для языков COBOL, FORTRAN, PHP и пр. от различных разработчиков. Множество расширений дополняет среду Eclipse менеджерами для работы с базами данных, серверами приложений и др.
Eclipse написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ (см. ниже). Библиотека SWT используется вместо стандартной для Java библиотеки Swing. Она полностью опирается на нижележащую платформу (операционную систему), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает на разных платформах проблемы совместимости и устойчивости приложений.
Архитектура
Основой Eclipse является платформа расширенного клиента (RCP — от англ. rich client platform). Её составляют следующие компоненты:
- Ядро платформы (загрузка Eclipse, запуск модулей);
- OSGi (стандартная среда поставки комплектов (англ. bundles));
- 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, включает в себя
- Eclipse Platform — каркас
- Plug-in Development Environment[2] — инструмент расширения Eclipse-платформы посредством Eclipse-плагинов
- Java Development Tools[3] — инструмент разработки Java-программ и 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 для поддержки разработки инструментов моделирования
- Tools[17]
- AspectJ[18] — аспектно-ориентированное расширение языка Java
- CDT (C/C++ Development Tools)[19] — среда разработки на C/C++ (C/C++ IDE)
- PDT (PHP Development Tools)[20] — среда разработки на PHP (PHP IDE)
- TPTP (Test & Performance Tools Platform)[21] — разработка инструментов тестирования, — отладчики, профайлеры и т. п.
- VE (Visual Editor Project)[22] — разработка инструментов GUI
- WTP (Web Tools Platform Project)[23] — инструменты разработки веб-приложений J2EE
- Коммуникационная среда Eclipse (ECF)[24] нацелена на создание коммуникационных приложений на платформе Eclipse.
- Проект разработки программного обеспечения для устройств (DSDP)[25]
- Платформа параллельных инструментов (PTP)[26] обеспечивает портируемую, масштабируемую, основанную на стандартах платформу параллельных инструментов, которая позволит облегчить интеграцию инструментов, специфических для параллельных компьютерных архитектур.
- Платформа встроенного расширенного клиента (eRCP)[27] — предназначена для расширения RCP на встраиваемые устройства. В eRCP входит набор компонентов, которые являются подмножеством компонентов RCP. Она позволит перенести модель приложения, используемого на настольных компьютерах, на другие устройства.
- DLTK (Dynamic Languages Toolkit)[28] — интегрированная среда разработчика для динамических языков программирования.
- Swordfish[29] — платформа для построения распределённых корпоративных информационных систем.
Последние версии
Eclipse 3.3.2 (Europa Winter)
Количество новых подпроектов (как управляемых Eclipse Foundation, так и сторонних) быстро увеличивается. Приходится координировать усилия огромного количества разработчиков и предлагать общие правила — «Eclipse Development Process».[30]
Последняя версия релиза включает в себя 21 подпроект.[31]
Eclipse 3.4 (Ganymede)
Релиз Ganymede (06.2008) включает в себя 23 подпроекта:[32]
|
|
Eclipse 3.5 (Galileo)
Последний релиз Galileo, представленный публике 24 июня 2009 года, включает в себя 33 подпроекта:[33]
|
|
Локализация
Начиная с версии 3.1.1, выпущен языковой пакет для русификации Eclipse. Переведены на русский язык как графический интерфейс, так и документация.[34]
Модули
Для среды Eclipse существует целый ряд свободных и коммерческих модулей. Первоначально среда была разработана для языка Java, но в настоящее время существуют многочисленные расширения для поддержки и других языков:
Язык | Модуль |
---|---|
C/С++ | CDT[35] |
Perl | EPIC[36] |
PHP | PDT[37] |
JavaScript | JSEclipse[38] |
Python | PyDev (Eclipse) (англ.)[39] |
Ruby | RDT[40] |
- Aptana — дистрибутив Eclipse и плагин, поддерживающий разработку с использованием JavaScript (все основные JS Ajax библиотеки включены в состав дистрибутива), HTML, CSS, PHP, Ruby on rails, Adobe AIR[41] и т. д.
Модуля для поддержки Pascal на данный момент нет. Вернее, есть заброшенный плагин[42], который можно возродить при желании. Ещё есть поддержка подсветки синтаксиса паскаля плагином EclipseColorer[43], но это не может считаться полноценной поддержкой языка.
Существуют также модули для создания графических интерфейсов.
Для разработки и получения отчётов и разработки аналитических BI-приложений в Eclipse имеется BIRT Project (англ.).
В Eclipse встроена функция установки и обновления модулей через Интернет.
Популярные приложения на базе SWT и RCP
- IBM Rational Application Developer (англ.)
- IBM Lotus Notes/Domino — клиентская часть, начиная версии 8.0
- Azureus
- RSSOwl (англ.)
- Jcommander (англ.)
- File Arranger — файловый менеджер
- Subclipse — Subversion[44]
- Bioclipse (англ.) — система визуализации химической и биологической информации
- Eclipse Trader — система биржевой торговли[45]
- ZipTie — фреймворк для мониторинга сетевых устройств[46]
- Schoolclipse — управление школой[47]
- Elexis — система ведения медицинской документации
Поддерживаемые архитектуры и системы
Примечания
- ↑ Darryl K. Taft. Eclipse: Behind the Name (англ.). ??? (20 мая 2005). Проверено 3 сентября 2009.
- ↑ PDE (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Eclipse Java development tools (JDT) (англ.). Проверено 3 сентября 2009.
- ↑ Rich Client Platform (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ ??? (англ.). Eclipse documentation. Официальный сайт. Проверено 3 сентября 2009.
- ↑ ??? (англ.). Eclipse documentation. Официальный сайт. Проверено 3 сентября 2009.
- ↑ Galileo is HERE! → Explore the Eclipse projects… (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Сергей Голубев. Инициатива Aperi. ??? (15 ноября 2005). Проверено 3 сентября 2009.
- ↑ BIRT Project → Business Intelligence and Reporting Tools (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Eclipse Data Tools Platform (DTP) Project (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Graphical Editing Framework (GEF) (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Jazz Community Site (англ.). Проверено 3 сентября 2009.
- ↑ Владимир Парамонов. IBM упростит распределённую разработку ПО. Компьюлента (31 января 2007). Проверено 3 сентября 2009.
- ↑ Eclipse Modeling Project (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Eclipse Modeling Framework Project (EMF) (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Model Development Tools (MDT) (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Model Development Tools (MDT) (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ AspectJ (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Eclipse C/C++ Development Tooling — CDT (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Eclipse PHP Development Tooling — PDT. Официальный сайт.
- ↑ Eclipse Test & Performance Tools Platform Project (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Visual Editor Project (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Web Tools Platform (WTP) Project (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Eclipse Communication Framework Project Home (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Device Software Development Platform Project Home (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ PTP — Parallel Tools Platform (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ embedded Rich Client Platform (eRCP) (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Dynamic Languages Toolkit (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Swordfish SOA Runtime Framework Project (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Eclipse Development Process (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Eclipse Europa Release Projects (англ.). Официальный сайт (июнь 2007). Проверено 3 сентября 2009.
- ↑ Eclipse Ganymede Release Projects (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Eclipse Galileo Release Projects (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Visual Editor Translations (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ Eclipse C/C++ Development Tooling — CDT (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ EPIC — Eclipse Perl Integration (англ.). sourceforge.net. Проверено 3 сентября 2009.
- ↑ PHP Development Tools Project (англ.). Официальный сайт. Проверено 3 сентября 2009.
- ↑ JSEclipse:: Edit JavaScript with ease (англ.). ???. Проверено 3 сентября 2009.
- ↑ Джош Фет. Настройка Eclipse под Windows для работы с Google App Engine (рус.). ??? (июнь 2008). — Установка PyDev в Eclipse. Проверено 3 сентября 2009.
- ↑ aptana RedRails — Ruby on Rails authoring environments (англ.). ???. Проверено 3 сентября 2009.
- ↑ Aptana + PyDev = любовь с App Engine (рус.). ???. Проверено 3 сентября 2009.
- ↑ PasClipse (англ.). sourceforge.net. Проверено 3 сентября 2009.
- ↑ Eclipse platform plugin (англ.). sourceforge.net. Проверено 3 сентября 2009.
- ↑ Subclipse (англ.). ???. Проверено 3 сентября 2009.
- ↑ EclipseTrader Wiki → Welcome to EclipseTrader (англ.). ???. Проверено 3 сентября 2009.
- ↑ NetworkAuthority Inventory (англ.). ???. Проверено 3 сентября 2009.
- ↑ Schoolclipse (англ.). ???. Проверено 3 сентября 2009.
См. также
- Mylyn — подсистема Eclipse управления заданиями.
- NetBeans IDE
- IntelliJ IDEA
Ссылки
Файл:Heckert GNU white.svg | Портал «Свободное программное обеспечение» |
---|---|
Файл:Wikibooks-logo.svg | Eclipse в Викиучебнике? |
Файл:Commons-logo.svg | Eclipse на Викискладе? |
- Официальный сайт проекта Eclipse(англ.)
- Eclipse API(англ.)
- Документация Eclipse(англ.) — Документация для Eclipse SDK
- Модули Eclipse(англ.) — Один из самых популярных каталогов модулей для Eclipse
- EclipseWiki(англ.)
- Модули редактора Wikipedia для Eclipse(англ.) — Редактор с подсветкой синтаксиса и возможностями скачивания/закачивания для текстов wikipedia
- Модули для Eclipse 3.x(англ.)
- Rich Client Platform(англ.) — Платформа расширенного клиента
- Коллекция модулей для Eclipse(англ.)
- Eclipse IDE project resources(англ.) IBM
- Почему я преподаю Eclipse IBM(рус.)
- Начало работы с платформой Eclipse(рус.) IBM
- Русскоязычный форум об Eclipse, форум RCP-приложения File Arranger(недоступная ссылка)
- Eclipse и сопутствующие технологии(рус.)
- Ставим плагины для IDE Eclipse(недоступная ссылка)
- Бесплатный инструментарий стоимостью в миллиард(рус.)
- EasyEclipse(англ.) — варианты дистрибутивов Eclipse «под ключ» для разных направлений разработки (Expert Java, Desktop Java, Server Java, Mobile Java и т. д.)
- Eclipse: знакомство, плагины(рус.) Студия Артемия Лебедева
IDE (сравнение • языки программирования) |
|
---|---|
Универсальные |
Visual Studio • NetBeans • Eclipse • KDevelop • XCode • Geany • MonoDevelop • Aptana • Open Watcom • Kylix |
C/C++ |
Anjuta • Borland C++ • C++ Builder • Code::Blocks • CodeLite • wxDev-C++ • Pelles C • Sun Studio • Qt Creator • Ultimate++ • QuickC |
Java |
WebLogic • BlueJ • DrJava • Greenfoot • JCreator • JDeveloper • IntelliJ IDEA • JBuilder • JGRASP |
Pascal |
Delphi • Lazarus • PascalABC.NET • MIDletPascal • PocketStudio • Morfik • Turbo Pascal • QuickPascal • Visible Pascal |
PHP |
Aptana Studio with PHP plugin • Delphi for PHP • Eclipse PDT • Komodo • Zend Studio • PHP expert editor |
ar:إكليبس ca:Eclipse cs:Eclipse (vývojové prostředí) da:Eclipse (program) de:Eclipse (IDE) en:Eclipse (software) es:Eclipse (software) eu:Eclipse fi:Eclipse (IDE) fr:Eclipse (logiciel) he:Eclipse hu:Eclipse id:Eclipse (perangkat lunak) it:Eclipse (informatica) ja:Eclipse (統合開発環境) ko:이클립스 lt:Eclipse (kompiuterinė programa) nl:Eclipse (software) nn:Utviklarplattformen «Eclipse» no:Eclipse pl:Eclipse pt:Eclipse (IDE) ro:Eclipse (software) sk:Eclipse sv:Eclipse tr:Eclipse (yazılım) uk:Eclipse vi:Eclipse (môi trường phát triển tích hợp) zh:Eclipse
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....