Введение

Eclipse IDE – это интегрированная среда разработки (IDE), используемая в компьютерном программировании. Она включает в себя базовое рабочее пространство и расширяемую систему плагинов для настройки среды. Eclipse является второй по популярности IDE для разработки на Java и до 2016 года была самой популярной. Eclipse написана преимущественно на Java, и её основное назначение – разработка Java-приложений, однако она также может использоваться для разработки приложений на других языках программирования посредством плагинов, включая Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby (включая фреймворк Ruby on Rails), Rust, Scala и Scheme. Она также может применяться для разработки документов в LaTeX (с помощью плагина TeXlipse) и пакетов для программного обеспечения Mathematica. В качестве сред разработки используются Eclipse Java Development Tools (JDT) для Java и Scala, Eclipse CDT для C/C++ и Eclipse PDT для PHP, среди прочих. Исходный код был разработан на основе IBM VisualAge. Комплект разработки программного обеспечения Eclipse (SDK), включающий инструменты разработки на Java, предназначен для Java-разработчиков. Пользователи могут расширять его функциональность, устанавливая плагины, разработанные для платформы Eclipse, такие как наборы инструментов для других языков программирования, а также создавать и вносить собственные плагины. Начиная с Eclipse 3.0 (выпущенной в 2004 году), плагины устанавливаются и управляются как «пакеты» с использованием Equinox – реализации OSGi. Eclipse SDK – это бесплатное программное обеспечение с открытым исходным кодом, распространяемое на условиях лицензии Eclipse Public License, хотя она несовместима с GNU General Public License. Eclipse была одной из первых IDE, работающих под GNU Classpath, и без проблем функционирует под IcedTea.

История

Eclipse был вдохновлен семейством интегрированных сред разработки (IDE) VisualAge, основанных на Smalltalk. В ноябре 2001 года был сформирован консорциум с советом управляющих для дальнейшего развития Eclipse как программного обеспечения с открытым исходным кодом. По оценкам, к тому времени IBM уже инвестировала около 40 миллионов долларов. Первоначальными участниками были Borland, IBM, Merant, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft и WebGain. К концу 2003 года число управляющих увеличилось до более чем 80. В январе 2004 года была создана Eclipse Foundation. Eclipse 3.0 (выпущенный 21 июня 2004 года) выбрал спецификации платформы OSGi Service Platform в качестве архитектуры среды выполнения. Ассоциация вычислительной техники удостоила Eclipse награды ACM Software System Award 26 апреля 2012 года за достижения 2011 года.

Лицензирование

Лицензия Eclipse Public License (EPL) является базовой лицензией, под которой распространяются проекты Eclipse. Для некоторых проектов требуется двойное лицензирование, для чего доступна лицензия Eclipse Distribution License (EDL), однако использование этой лицензии требует подачи заявки и рассматривается в каждом конкретном случае. Изначально Eclipse был выпущен под Common Public License, но впоследствии был перелицензирован под Eclipse Public License. Фонд свободного программного обеспечения заявил, что обе лицензии являются лицензиями свободного программного обеспечения, но несовместимы с GNU General Public License (GPL).

Имя

По словам Ли Накмана, главного технического директора подразделения IBM Rational (основанного в 2003 году), в то время название "Eclipse" (существующее как минимум с 2001 года) не было игрой слов, отсылающей к Sun Microsystems, поскольку основным конкурентом продукта на момент его наименования была Microsoft Visual Studio, которую Eclipse должен был превзойти. Разным версиям Eclipse давались названия, связанные с наукой. За версиями, названными в честь спутников Юпитера – Каллисто, Европы и Ганимеда, последовала версия, названная в честь Галилея, открывшего эти спутники. Затем последовали два названия, связанные с темой солнца: Гелиос из греческой мифологии и Индиго, один из семи цветов радуги (возникающей благодаря солнечному свету). Версия после неё, Юнона, имеет тройное значение: римский мифологический персонаж, астероид и космический аппарат, направленный к Юпитеру. Кеплер, Луна и Марс продолжили астрономическую тематику, а затем Неон и Кислород стали темой химических элементов. "Фотоны" ознаменовали возвращение к названиям, связанным с солнцем. С 2018 года алфавитная схема была отменена для лучшего соответствия новой стратегии синхронизированных релизов. Релизы теперь именуются в формате YYYY MM, отражая квартальные выпуски, начиная с версии 4.9, получившей название 2018 09.

Серверная платформа

Eclipse поддерживает разработку для Tomcat, GlassFish и многих других серверов и часто позволяет устанавливать необходимый сервер (для разработки) прямо из IDE. Она поддерживает удаленную отладку, позволяя пользователю отслеживать значения переменных и пошагово выполнять код приложения, работающего на подключенном сервере.

Платформа веб-инструментов

Проект Eclipse Web Tools Platform (WTP) — это расширение платформы Eclipse, предоставляющее инструменты для разработки веб-приложений и приложений Java EE. Он включает в себя редакторы исходного кода и графические редакторы для различных языков, мастера и встроенные приложения, упрощающие разработку, а также инструменты и API для поддержки развертывания, запуска и тестирования приложений.

Управление жизненным циклом приложений

Управление жизненным циклом приложений (ALM) и управление задачами в Eclipse требуют дополнительный компонент под названием Mylyn ('/m//aɪ//l//ɪ//n/'), – реализацию с открытым исходным кодом интерфейса, ориентированного на задачи. Он предоставляет API для инструментов, интегрирующих этот интерфейс. Для разработчиков программного обеспечения Mylyn помогает эффективно работать с множеством различных задач (например, с ошибками, сообщениями об ошибках или новыми функциями). Задачи интегрируются в Mylyn. Для всех интегрированных задач Mylyn отслеживает действия пользователя и пытается определить информацию, релевантную текущей задаче. Используя этот контекст задачи, Mylyn фокусирует пользовательский интерфейс Eclipse на связанной информации. Mylyn может интегрироваться с репозиториями, такими как Bugzilla, Trac, Redmine, Mantis, JIRA, Unfuddle и GitHub. Он направлен на повышение производительности за счет уменьшения времени, затрачиваемого на поиск, прокрутку и навигацию. Делая контекст задачи явным, Mylyn также призван облегчить многозадачность, планирование, повторное использование предыдущих наработок и обмен опытом. Название проекта происходит от миелина – электрически изолирующего слоя, окружающего аксоны нейронов. Изначальное название проекта, "Mylar", совпадало с товарным знаком компании, производящей пленку boPET, поэтому Фонд Eclipse изменил название проекта.

Особенности

Функции Eclipse IDE включают в себя текстовый редактор с подсветкой синтаксиса, помощь при написании кода, автодополнение кода, рефакторинг кода, анализ кода с предложениями "быстрого исправления" и отладку кода. Наряду с нативной поддержкой OSGi, начиная с Java 9 добавлена поддержка JPMS. Помимо встроенных предупреждений компилятора Java, для повышения качества и согласованности кода доступны дополнительные плагины для линтинга, такие как SpotBugs и Sonar. Поддержка инструментов сборки, таких как Ant, Maven, Make и CMake, включает возможность непосредственной замены родного формата файлов проектов Eclipse на Maven pom.xml.

Альтернативные распределения

В проекте Eclipse существует несколько альтернативных сборок.

Инструменты разработки PHP

Проект PHP Hypertext Preprocessor (PHP) Development Tools предоставляет основу для платформы Eclipse. Проект включает в себя все компоненты разработки, такие как автозавершение кода, разработка на PHP и обеспечение расширяемости. Он использует существующие Eclipse Web Tools Platform (WTP) и Dynamic Languages Toolkit (DLTK).

Инструменты разработки для Android

Android Development Tools (ADT) был заменен в 2015 году собственным плагином фонда Eclipse под названием Andmore: Development Tools for Android, после того как Google прекратил разработку своего плагина для Eclipse IDE, предназначенного для предоставления интегрированной среды разработки приложений для Android. ADT/Andmore расширяет возможности Eclipse, позволяя разработчикам создавать новые проекты Android, разрабатывать пользовательский интерфейс приложений, добавлять пакеты на основе API Android Framework, отлаживать приложения с помощью инструментов Android SDK и экспортировать подписанные (или неподписанные) APK-файлы для распространения приложений. Плагин доступен для бесплатного скачивания. Google ADT являлся официальной IDE для Android до 2015 года, но был заменен Andmore от Eclipse и официальной Android Studio. По состоянию на 2024 год проект, по всей видимости, находится в состоянии застоя, и с 2017 года активность в нем отсутствует.