Eclipse (среда разработки)
Ошибка скрипта: Модуля «hatnote» не существует.{{#if: | }} Шаблон:Карточка программы
Eclipse (МФА: {{#if: | [ɪˈklɪps] | [ɪˈklɪps] }}, Шаблон:Tr-en<ref>Шаблон:Cite web</ref>) — свободная интегрированная среда разработки модульных кроссплатформенных приложений. Развивается и поддерживается Eclipse Foundation.
Наиболее известные приложения на основе Eclipse Platform — различные «Eclipse IDE» для разработки ПО на множестве языков (например, наиболее популярный «Java IDE», поддерживавшийся изначально, не полагается на какие-либо закрытые расширения, использует стандартный открытый API для доступа к Eclipse Platform).
История
Первоначально Eclipse разрабатывалась компанией IBM как преемник среды разработки IBM VisualAge, в качестве корпоративного стандарта IDE для разработки на разных языках под платформы IBM. По сведениям IBM, проектирование и разработка стоили 40 миллионов долларов.<ref>Шаблон:Cite web</ref> Исходный код полностью открыт и сделан доступным после передачи 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.
Начиная с релиза 2018-09 Eclipse Foundation перешли с ежегодных релизов на роллинг-релизы с периодом в 13 недель.<ref>Шаблон:Cite web</ref>
| Релиз | Дата | Версия платформы | Проект |
|---|---|---|---|
| 2019-03 | 20 марта 2019 | 4.11 | проекты 2019-03 |
| 2018-12 | 19 декабря 2018 | 4.10 | проекты 2018-12 |
| 2018-09 | 19 сентября 2018 | 4.9 | проекты 2018-09 |
| Photon | 27 июня 2018 | 4.8 | проекты Photon |
| Oxygen | 28 июня 2017 | 4.7 | проекты Oxygen |
| Neon | 22 июня 2016 | 4.6 | проекты Neon |
| Mars | 25 июня 2015 | 4.5 | проекты Mars |
| Luna | 6 июня 2014 | 4.4 | проекты Luna |
| Kepler | 26 июня 2013 | 4.3 | проекты 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 |
Преимущества
Eclipse служит в первую очередь платформой для разработки расширений, чем он и завоевал популярность: любой разработчик может расширить Eclipse своими модулями. Уже существуют Java Development Tools (JDT), C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, и средства для языков Ada (GNATbench, Hibachi), COBOL, FORTRAN, PHP, X10 (X10DT) и пр. от различных разработчиков. Множество расширений дополняет среду Eclipse диспетчерами для работы с базами данных, серверами приложений и др.
Eclipse JDT (Java Development Tools) — наиболее известный модуль, нацеленный на групповую разработку: среда интегрирована с системами управления версиями — CVS, GIT в основной поставке, для других систем (например, Subversion, MS SourceSafe) существуют плагины. Также предлагает поддержку связи между IDE и системой управления задачами (ошибками). В основной поставке включена поддержка трекера ошибок Bugzilla, также имеется множество расширений для поддержки других трекеров (Trac, Jira и др.). В силу бесплатности и высокого качества, Eclipse во многих организациях является корпоративным стандартом для разработки приложений.
Eclipse написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ (см. ниже). Библиотека SWT используется вместо стандартной для Java библиотеки Swing. Она полностью опирается на нижележащую платформу (операционную систему), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает на разных платформах проблемы совместимости и устойчивости приложений.
Архитектура
Основой Eclipse является платформа расширенного клиента (RCP — от англ. Шаблон:Lang-en2). Её составляют следующие компоненты:
- Ядро платформы (загрузка Eclipse, запуск модулей);
- OSGi (стандартная среда поставки комплектов (англ. Шаблон:Lang-en2));
- SWT (портируемый инструментарий виджетов);
- JFace (файловые буфера, работа с текстом, текстовые редакторы);
- Рабочая среда Eclipse (панели, редакторы, проекции, мастера).
GUI в Eclipse написан с использованием инструментария SWT. Последний, в отличие от Swing (который самостоятельно эмулирует графические элементы управления), использует графические компоненты данной операционной системы. Пользовательский интерфейс Eclipse также зависит от промежуточного слоя GUI, называемого JFace, который упрощает построение пользовательского интерфейса, базирующегося на SWT.
Гибкость Eclipse обеспечивается за счёт подключаемых модулей, благодаря чему возможна разработка не только на Java, но и на других языках, таких, как C/C++, Perl, Groovy, Ruby, Python, PHP, Erlang, Компонентный Паскаль, Zonnon, и прочих.
Проекты Eclipse
Платформа
- Eclipse Project — собственно проект Eclipse, включает в себя:
- Eclipse Platform — каркас;
- Plug-in Development Environment<ref>Шаблон:Cite web</ref> — инструмент расширения Eclipse-платформы посредством Eclipse-плагинов;
- Java Development Tools<ref>Шаблон:Cite web</ref> — инструмент разработки Java-программ и Eclipse-плагинов в частности.
- Rich Client Platform<ref>Шаблон:Cite web</ref> — платформа расширенного клиента, минимальный набор плагинов<ref>Шаблон:Cite web</ref><ref>Шаблон:Cite web</ref> для построения программы с графическим интерфейсом.
Примеры проектов
Кроме того, в состав Eclipse входят различные проекты (ниже перечислены некоторые из них)<ref>Шаблон:Cite web</ref>.
- Aperi (от лат. открывать) — open source система управления системами сетевого хранения данных<ref>Шаблон:Cite web</ref>.
- BIRT (Business Intelligence and Reporting Tools)<ref>Шаблон:Cite web</ref> — Web- и PDF-отчёты.
- DTP (Data Tools Platform)<ref>Шаблон:Cite web</ref> — разработка систем, управляемых данными (data-centric systems), в частности, данными в реляционных базах; управление программами с большим числом коннекторов.
- GEF (Graphical Editing Framework)<ref>Шаблон:Cite web</ref> — фреймворк для построения встроенных графических редакторов.
- Jazz<ref>Шаблон:Cite web</ref><ref>Шаблон:Cite web</ref> — клиент-серверная платформа для взаимодействия разработчиков в процессе разработки проекта (включает чат, журнал событий и др.), строящаяся поверх Eclipse (входит в линейку продуктов IBM Rational).
- Modeling<ref>Шаблон:Cite web</ref>.
- EMF<ref>Шаблон:Cite web</ref>, среда моделирования Eclipse — средство для создания моделей и генерации кода для построения инструментов и других приложений, базирующихся на структурированной модели данных, из спецификации модели, прописанной в XMI.
- UML2<ref>Шаблон:Cite web</ref> — реализация метамодели UML 2.0 для поддержки разработки инструментов моделирования.
- Tools<ref>Шаблон:Cite web</ref>.
- AspectJ<ref>Шаблон:Cite web</ref> — аспектно-ориентированное расширение языка Java.
- CDT (C/C++ Development Tools)<ref>Шаблон:Cite web</ref> — среда разработки на C/C++ (C/C++ IDE).
- PDT (PHP Development Tools)<ref>Шаблон:Cite web</ref> — среда разработки на PHP (PHP IDE).
- TPTP (Test & Performance Tools Platform)<ref>Шаблон:Cite web</ref> — разработка инструментов тестирования, — отладчики, профайлеры Шаблон:Nobr
- VE (Visual Editor Project)<ref>Шаблон:Cite web</ref> — разработка инструментов GUI.
- WTP (Web Tools Platform Project)<ref>Шаблон:Cite web</ref> — инструменты разработки веб-приложений J2EE:
- Коммуникационная среда Eclipse (ECF)<ref>Шаблон:Cite web</ref> нацелена на создание коммуникационных приложений на платформе Eclipse.
- Проект разработки программного обеспечения для устройств (DSDP).<ref>Шаблон:Cite web</ref>
- Платформа параллельных инструментов (PTP)<ref>Шаблон:Cite web</ref> обеспечивает портируемую, масштабируемую, основанную на стандартах платформу параллельных инструментов, которая позволит облегчить интеграцию инструментов, специфических для параллельных компьютерных архитектур.
- Платформа встроенного расширенного клиента (eRCP)<ref>Шаблон:Cite web</ref> — предназначена для расширения RCP на встраиваемые устройства. В eRCP входит набор компонентов, которые являются подмножеством компонентов RCP. Она позволит перенести модель приложения, используемого на настольных компьютерах, на другие устройства.
- DLTK (Dynamic Languages Toolkit)<ref>Шаблон:Cite web</ref> — интегрированная среда разработчика для динамических языков программирования.
- Swordfish<ref>Шаблон:Cite web</ref> — платформа для построения распределённых корпоративных информационных систем.
Последние версии
Eclipse 3.3.2 (Europa Winter)
Количество новых подпроектов (как управляемых Eclipse Foundation, так и сторонних) быстро увеличивается. Приходится координировать усилия огромного количества разработчиков и предлагать общие правила — «Eclipse Development Process».<ref>Шаблон:Cite web</ref>
Последняя версия релиза включает в себя 21 подпроект.<ref>Шаблон:Cite web</ref>
Eclipse 3.4 (Ganymede)
Релиз Ganymede (06.2008) включает в себя 23 подпроекта:<ref>Шаблон:Cite web</ref> Шаблон:Col-begin Шаблон:Col-2
- 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
Eclipse 3.5 (Galileo)
Последний релиз Galileo, представленный публике 24 июня 2009 года, включает в себя 33 подпроекта:<ref>Шаблон:Cite web</ref> Шаблон:Col-begin Шаблон:Col-2
- 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
Модули
Для среды Eclipse существует целый ряд свободных и коммерческих модулей. Первоначально среда была разработана для языка Java, но в настоящее время существуют многочисленные расширения для поддержки и других языков:
| Язык | Модуль |
|---|---|
| C/C++ | CDT<ref>Шаблон:Cite web</ref> |
| Fortran | Photran<ref>Шаблон:Cite web</ref> |
| Perl | EPIC<ref>Шаблон:Cite web</ref> |
| PHP | PDT<ref>Шаблон:Cite web</ref> |
| JavaScript | JSEclipse<ref>Шаблон:Cite web</ref> |
| Python | Шаблон:Нп1<ref>Шаблон:Cite web</ref> |
| Ruby | RDT<ref>Шаблон:Cite web</ref> |
| 1C V8 | 1C:Enterprise DT<ref>Шаблон:Cite web</ref> |
- Aptana — дистрибутив Eclipse и плагин, поддерживающий разработку с использованием JavaScript (все основные JS Ajax библиотеки включены в состав дистрибутива), HTML, CSS, PHP, Ruby on rails, Adobe AIR<ref>Шаблон:Cite web</ref> и т. д.
Модуля для поддержки Pascal на данный момент нет. Вернее, есть заброшенный плагин<ref>Шаблон:Cite web</ref>, который можно возродить при желании. Ещё есть поддержка подсветки синтаксиса паскаля плагином EclipseColorer<ref>Шаблон:Cite web</ref>, но это не может считаться полноценной поддержкой языка.
Существуют также модули для создания графических интерфейсов.
Для разработки и получения отчётов и разработки аналитических BI-приложений в Eclipse имеется BIRT Project.
В Eclipse встроена функция установки и обновления модулей через Интернет.
Популярные приложения на базе SWT и RCP
- Шаблон:Нп1.
- IBM Rational Software Architect.
- IBM Lotus Notes/Domino — клиентская часть, начиная с версии 8.0.
- Vuze — torrent клиент.
- Шаблон:Нп1.
- Шаблон:Нп1.
- Subclipse — Subversion.<ref>Шаблон:Cite web</ref>
- Шаблон:Нп1 — система визуализации химической и биологической информации.
- Eclipse Trader — система биржевой торговли.<ref>Шаблон:Cite web</ref>
- ZipTie — фреймворк для мониторинга сетевых устройств.<ref>Шаблон:Cite web</ref>
- Schoolclipse — управление школой.<ref>Шаблон:Cite web</ref>
- Elexis — система ведения медицинской документации.
- Zend Studio — студия разработки WEB-приложений на языке PHP.
- Teamcenter Rich Client — «Полный» клиент популярной PLM-системы Teamcenter от Siemens PLM Software.
Поддерживаемые архитектуры и системы
- AIX (PPC/Motif)
- FreeBSD (x86, x86-64/GTK 2)
- HP-UX (HP9000/Motif)
- Linux (x86, x86-64, PPC, IA-64/GTK 2)
- Linux (x86/Motif)
- Mac OS X (x86, x86-64, PPC/ Cocoa)
- OpenSolaris (x86, x64, SPARC/ GTK 2)
- Solaris 8 (SPARC/GTK 2, Motif)
- QNX (x86/Photon)
- Microsoft Windows (Win32, Win64)
- Android (ARM)
Примечания
Ссылки
- Официальный сайт проекта EclipseШаблон:Ref
- Eclipse APIШаблон:Ref
- Документация EclipseШаблон:Ref — Документация для Eclipse SDK
- EclipseWikiШаблон:Ref
- Модули для Eclipse 3.xШаблон:Ref
- Rich Client PlatformШаблон:Ref — Платформа расширенного клиента
- Коллекция модулей для EclipseШаблон:Ref
- Eclipse IDE project resourcesШаблон:Ref IBM
- Почему я преподаю Eclipse IBMШаблон:Ref
- Начало работы с платформой EclipseШаблон:Ref IBM
- Бесплатный инструментарий стоимостью в миллиардШаблон:Ref
- EasyEclipseШаблон:Ref — варианты дистрибутивов Eclipse «под ключ» для разных направлений разработки (Expert Java, Desktop Java, Server Java, Mobile Java и т. д.)
- Eclipse: знакомство, плагиныШаблон:Ref Студия Артемия Лебедева
Шаблон:ВС Шаблон:Eclipse Foundation Шаблон:Eclipse plugins Шаблон:IDE Шаблон:Интегрированные среды разработки для C и C++ Шаблон:PHP
- Страницы с ошибками скриптов
- Википедия:Страницы с шаблоном Другие значения с устаревшим параметром
- Eclipse
- Программное обеспечение для macOS
- Программное обеспечение для Linux
- Программное обеспечение для Windows
- Свободное программное обеспечение, написанное на Java
- Свободные интегрированные среды разработки
- Business intelligence
- FSF/UNESCO
- Программное обеспечение для разработки под Android