Eclipse (программное обеспечение) - Eclipse (software)

Затмение
Eclipse-Luna-Logo.svg
Eclipse 4.12 screenshot.png
Экран приветствия Eclipse 4.12
Автор (ы) оригинала IBM
Разработчики) Фонд Затмения
Первый выпуск 1.0 / 7 ноября 2001 г . ; 19 лет назад ( 2001-11-07 )
Стабильный выпуск
4.21.0  Отредактируйте это в Викиданных / 15 сентября 2021 г. (31 день назад)
Предварительный выпуск
4.21 (выпуск от 2021-09 гг.)
Репозиторий
Написано в Java и C
Операционная система Linux , macOS , Windows
Платформа Java SE , стандартный набор инструментов виджетов , x86-64
Доступно в 44 языка
Список языков
Албанский, арабский, баскский, болгарский, каталонский, китайский (упрощенный, традиционный), чешский, датский, голландский, английский (Австралия, Канада), эстонский, финский, французский, немецкий, греческий, иврит, хинди, венгерский, индонезийский, итальянский, Японский, клингонский, корейский, курдский, литовский, малаялам, монгольский, мьянманский, непальский, норвежский, персидский, польский, португальский (Португалия, Бразилия), румынский, русский, сербский, словацкий, словенский, испанский, шведский, тайский, турецкий, украинский , Вьетнамский
Тип Инструмент программирования , интегрированная среда разработки (IDE)
Лицензия Общественная лицензия Eclipse
Веб-сайт www .eclipse .org Отредактируйте это в Викиданных

Eclipse - это интегрированная среда разработки (IDE), используемая в компьютерном программировании . Он содержит базовую рабочую область и расширяемую систему подключаемых модулей для настройки среды. 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 (JDT) для Java и Scala, Eclipse CDT для C / C ++ и Eclipse PDT для PHP.

Первоначальная кодовая база была взята из IBM VisualAge . Комплект разработки программного обеспечения Eclipse (SDK), который включает инструменты разработки Java, предназначен для разработчиков Java. Пользователи могут расширить его возможности, установив надстройки, написанные для платформы Eclipse, например, наборы инструментов разработки для других языков программирования, а также могут писать и вносить свои собственные подключаемые модули. С момента появления реализации OSGi ( Equinox ) в версии 3 Eclipse подключаемые модули могут быть подключены-остановлены динамически и называются пакетами (OSGI).

Комплект для разработки программного обеспечения Eclipse (SDK) - это бесплатное программное обеспечение с открытым исходным кодом , выпущенное в соответствии с условиями общественной лицензии Eclipse , хотя оно несовместимо с Стандартной общественной лицензией GNU . Это была одна из первых IDE, работающая под GNU Classpath, и она работает без проблем под IcedTea .

История

Eclipse был вдохновлен семейством продуктов интегрированной среды разработки (IDE) VisualAge на основе Smalltalk . Несмотря на то, что продукты VisualAge были довольно успешными, их основным недостатком было то, что разработанный код не входил в состав модели разработки программного обеспечения на основе компонентов . Вместо этого весь код проекта хранился в сжатом куске (что-то вроде zip-файла, но в проприетарном формате, называемом .dat). Доступ к отдельным классам был затруднен, и уж тем более вне инструмента. Команда, работающая в основном в лаборатории IBM Cary, NC, разработала новый продукт как замену на основе Java. В ноябре 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 , с 2011 премии ACM Software Systems 26 апреля 2012 года .

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

Eclipse Public License (EPL) является основной лицензией , при которых проекты Eclipse , высвобождается. Для некоторых проектов требуется двойное лицензирование, для которого доступна лицензия Eclipse Distribution License (EDL), хотя на использование этой лицензии необходимо подавать заявку, и это рассматривается в индивидуальном порядке.

Первоначально Eclipse выпускался под Общей общественной лицензией , но позже был повторно лицензирован под Общественной лицензией Eclipse. Фонд свободного программного обеспечения заявил, что обе лицензии являются лицензиями свободных программ , но несовместимы с Стандартной общественной лицензией GNU (GPL).

Имя

По словам Ли Накмана, главного технологического директора подразделения IBM Rational ( основанного в 2003 году) в то время, название «Eclipse» (датируемое по крайней мере 2001 годом) не было игрой слов в Sun Microsystems , как главном конкуренте продукта во время назывался Microsoft Visual Studio , который Eclipse должен был затмить.

Разным версиям Eclipse даны разные названия, связанные с наукой. За версиями, названными в честь Каллисто , Европы и Ганимеда , которые являются лунами Юпитера , последовала версия, названная в честь Галилея , открывшего эти луны. За ними последовали два имени на тему солнца: Гелиос из греческой мифологии и Индиго , один из семи цветов радуги (которая создается солнцем). Версия после этого, Юнона, имеет тройное значение: римская мифологическая фигура , астероид и космический корабль к Юпитеру . Кеплер , Луна и Марс продолжили тему астрономии, а затем Неон и Кислород составили тему химических элементов . Фотон представлял собой возвращение к именам, посвященным солнцу.

С 2018 года от алфавитной схемы отказались, чтобы лучше согласоваться с новой стратегией одновременного выпуска. Релизы называются в формате ГГГГ-ММ, чтобы отразить квартальные релизы, начиная с версии 4.9, названной 2018-09.

Релизы

С 2006 года Фонд координирует ежегодный одновременный выпуск . Каждый выпуск включает платформу Eclipse и несколько других проектов Eclipse.

С 2008 по 2018 год каждый одновременный выпуск происходил в 4-ю среду июня. В 2018 году проект перешел на квартальные (13 недель) выпуски YYYY-MM без промежуточных сервис-релизов.

Название версии Дата Версия платформы Проекты Основные изменения
N / A 21 июня 2004 г. Старая версия, больше не поддерживается: 3.0
N / A 28 июня 2005 г. Старая версия, больше не поддерживается: 3.1 Добавлена поддержка Java 5 : обобщения, аннотации, распаковка боксов, перечисления, улучшенный цикл for, varargs, статический импорт.
Каллисто 30 июня 2006 г. Старая версия, больше не поддерживается: 3,2 Каллисто проекты
Европа 29 июня 2007 г. Старая версия, больше не поддерживается: 3.3 Европа проекты
Ганимед 25 июня 2008 г. Старая версия, больше не поддерживается: 3,4 Ганимедские проекты
Галилео 24 июня 2009 г. Старая версия, больше не поддерживается: 3.5 Проекты Галилео
Гелиос 23 июня 2010 г. Старая версия, больше не поддерживается: 3,6 Проекты Helios
Индиго 22 июня 2011 г. Старая версия, больше не поддерживается: 3,7 Индиго проекты Добавлена поддержка Java 7 (3.7.1 sr1): улучшенный вывод типа для создания универсального экземпляра (Diamond), Multi-catch, оператор try-with-resources, упрощенный вызов метода Varargs, строки в переключателе, двоичные литералы и знаки подчеркивания в числовых литералах, Полиморфные методы
Юнона 27 июня 2012 г. Старая версия, больше не поддерживается: 3.8 и 4.2

Юнона проекты
Кеплер 26 июня 2013 г. Старая версия, больше не поддерживается: 4.3 Кеплер проекты
Луна 25 июня 2014 г. Старая версия, больше не поддерживается: 4.4 Луна проекты Интегрированная поддержка Java 8 ; в предыдущей версии это было возможно с помощью подключаемого модуля исправлений Java 8 .
Марс 24 июня 2015 г. Старая версия, больше не поддерживается: 4.5 Марс проекты
Неон 22 июня 2016 г. Старая версия, больше не поддерживается: 4.6 Неоновые проекты
Кислород 28 июн 2017 Старая версия, больше не поддерживается: 4,7 Кислородные проекты Oxygen.1a представил поддержку Java 9 и Junit 5, а Oxygen.3a представил поддержку Java 10.

Прекращена поддержка следующих платформ на базе Unix: AIX, Solaris, HP-UX и s390.

Фотон 27 июн 2018 Старая версия, больше не поддерживается: 4.8 Фотонные проекты Прекращена поддержка 32-битных Windows и Linux.
2018-09 19 сентября 2018 г. Старая версия, больше не поддерживается: 4.9 2018-09 проектов
2018-12 19 декабря 2018 г. Старая версия, больше не поддерживается: 4.10 2018-12 проектов Добавлена ​​поддержка Java 11.
2019-03 20 марта 2019 г. Старая версия, больше не поддерживается: 4.11 2019-03 проектов
2019-06 19 июн 2019 Старая версия, больше не поддерживается: 4,12 2019-06 проекты
2019-09 18 сентября 2019 г. Старая версия, больше не поддерживается: 4,13 2019-09 проектов
2019-12 18 декабря 2019 г. Старая версия, больше не поддерживается: 4,14 2019-12 проектов
2020-03 18 марта 2020 г. Старая версия, больше не поддерживается: 4,15 2020-03 проектов Обновите поддержку языков веб-разработки, полагаясь на протокол языкового сервера
2020-06 17 июн 2020 Старая версия, больше не поддерживается: 4,16 2020-06 проектов
2020-09 16 сентября 2020 г. Старая версия, больше не поддерживается: 4,17 2020-09 проектов Для работы требуется JDK 11.
2020-12 16 декабря 2020 г. Старая версия, больше не поддерживается: 4,18 2020-12 проектов JDK встроен в большинство пакетов, поэтому установка Java не является обязательным условием.
2021-03 17 марта 2021 г. Старая версия, больше не поддерживается: 4,19 2021-03 проекты
2021-06 16 июня 2021 г. Старая версия, больше не поддерживается: 4.20 2021-06 проекты
2021-09 15 сентября 2021 г. Текущая стабильная версия: 4,21 2021-09 проектов
2021-12 8 декабря 2021 г. Будущий выпуск: 4,22 2021-12 проекты
Легенда:
Старая версия
Старая версия, все еще поддерживается
Последняя версия
Последняя предварительная версия
Будущий выпуск
  1. ^ Существует выпуск 3.8 Eclipse Juno; он не рекламируется на главной странице загрузок, но для загрузки доступен пакетный дистрибутив. Eclipse 3.8 обеспечивает исправления ошибок для Indigo и добавляет поддержку Java 7, а его обслуживание было двухпотоковым с 4.2. Функции и надстройки, эквивалентные пакетному дистрибутиву, могут быть добавлены из среды IDE.

Архитектура

Eclipse использует плагины для обеспечения всех функций внутри и поверх системы времени выполнения. Его система времени выполнения основана на Equinox , реализации спецификации ядра OSGi .

Помимо возможности расширения платформы Eclipse с использованием других языков программирования , таких как C и Python , платформа плагинов позволяет платформе Eclipse работать с языками набора, такими как LaTeX, и сетевыми приложениями, такими как telnet и системы управления базами данных . Архитектура подключаемого модуля поддерживает запись любого желаемого расширения в среду, например, для управления конфигурацией . Поддержка Java и CVS предоставляется в Eclipse SDK , а поддержка других систем управления версиями обеспечивается сторонними надстройками .

За исключением небольшого ядра времени выполнения, все в Eclipse является подключаемым модулем. Таким образом, каждый разработанный подключаемый модуль интегрируется с Eclipse так же, как и другие подключаемые модули; в этом отношении все функции «созданы равными». Eclipse предоставляет плагины для широкого спектра функций, некоторые из которых предоставлены третьими сторонами, использующими как бесплатные, так и коммерческие модели. Примеры подключаемых модулей включают в себя Unified Modeling Language (UML), Sequence и другие схемы UML, подключаемый модуль для DB Explorer и многие другие.

Eclipse SDK включает инструменты разработки Eclipse Java (JDT), предлагая IDE со встроенным инкрементным компилятором Java и полную модель исходных файлов Java. Это позволяет применять передовые методы рефакторинга и анализ кода. В среде IDE также используется рабочее пространство , в данном случае набор метаданных в плоском файловом пространстве , позволяющий изменять внешние файлы, если соответствующий ресурс рабочего пространства впоследствии обновляется.

Eclipse реализует графические элементы управления набора инструментов Java под названием Standard Widget Toolkit (SWT), тогда как большинство приложений Java используют стандартный набор инструментов абстрактного окна Java (AWT) или Swing . Пользовательский интерфейс Eclipse также использует промежуточный уровень графического пользовательского интерфейса, называемый JFace , который упрощает создание приложений на основе SWT. Eclipse был создан для работы на Wayland во время проекта Google Summer of Code (GSoC) в 2014 году.

По состоянию на 2017 год языковые пакеты, разрабатываемые Babel Project, обеспечивают переводы на более чем 40 естественных языков .

Платформа с богатым клиентом

Eclipse предоставляет многофункциональную клиентскую платформу (RCP) для разработки приложений общего назначения.

Следующие компоненты составляют полнофункциональную клиентскую платформу:

Примеры полнофункциональных клиентских приложений на основе Eclipse:

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

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

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

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

Платформа моделирования

Проект Modeling содержит все официальные проекты Eclipse Foundation, ориентированные на технологии разработки на основе моделей. Все они совместимы с Eclipse Modeling Framework, созданным IBM. Эти проекты разделены на несколько категорий: Преобразование моделей, Инструменты разработки моделей, Разработка конкретного синтаксиса, Разработка абстрактного синтаксиса, Технологии и исследования и Амальгама.

Проекты преобразования моделей используют модели на основе Eclipse Modeling Framework (EMF) в качестве входных данных и создают либо модель, либо текст в качестве выходных данных. Проекты преобразования модели в модель включают язык преобразования ATLAS (ATL), язык преобразования с открытым исходным кодом и инструментарий, используемый для преобразования заданной модели или создания новой модели из заданной модели EMF. Проекты преобразования модели в текст содержат Acceleo , реализацию MOFM2T , стандартной модели языка текста от Object Management Group (OMG). Генератор кода Acceleo может генерировать любой текстовый язык (Java, PHP, Python и т. Д.) Из моделей на основе EMF, определенных с помощью любой метамодели ( унифицированный язык моделирования (UML), язык моделирования систем (SysML) и т. Д.). Это открытый исходный код.

Проекты инструментов разработки моделей - это реализация различных стандартов моделирования, используемых в отрасли, и их наборов инструментов. Среди этих проектов можно найти реализации нескольких стандартов:

Проект Concrete Syntax Development содержит структуру графического моделирования, основанную на Eclipse, предназначенную для графического представления моделей на основе EMF.

В проекте «Разработка абстрактного синтаксиса» размещается среда моделирования Eclipse, являющаяся ядром большинства проектов моделирования Eclipse Foundation, а также структура, доступная для EMF, такая как объекты Connected Data Objects (CDO), запрос EMF или проверка EMF.

Технологические и исследовательские проекты являются прототипами проекта моделирования; этот проект используется для размещения всех проектов моделирования Eclipse Foundation во время их инкубационной фазы.

Amalgam обеспечивает упаковку и интеграцию между всеми доступными инструментами моделирования для пакета Eclipse, предназначенного для инструментов моделирования.

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

Управление жизненным циклом приложений (УАП) и управления задачами в Eclipse , необходим дополнительный компонент , называемый Mylyn ( / м л ɪ п / ), в открытым исходным кодом реализации задач-ориентированного интерфейса . Он предоставляет API для инструментов, встраивающих интерфейс, ориентированный на задачи. Для разработчиков программного обеспечения это помогает разработчику эффективно работать с множеством различных задач (например, с ошибками, отчетами о проблемах или новыми функциями). Задачи интегрированы в Mylyn. Для всех задач, которые были интегрированы, Mylyn отслеживает активность пользователей и пытается определить информацию, имеющую отношение к текущей задаче. Он использует этот контекст задачи, чтобы сфокусировать пользовательский интерфейс Eclipse на связанной информации. Mylyn может интегрироваться с такими репозиториями, как Bugzilla , Trac , Redmine , Mantis , JIRA , Unfuddle и GitHub . Он ориентирован на повышение производительности за счет сокращения поиска, прокрутки и навигации. Делая контекст задачи явным, Mylyn также предназначен для облегчения многозадачности, планирования, повторного использования прошлых усилий и обмена опытом.

Название проекта происходит от миелина - электрически изолирующего слоя, окружающего аксоны нейронов. Первоначальное название этого проекта, «Майлар», воспроизводило торговую марку кинокомпании boPET , поэтому Eclipse Foundation изменила название проекта.

Расширения

Eclipse поддерживает широкий выбор расширений, добавляя поддержку Python через PyDev , разработку Android через ADT от Google (заменен Android Studio с 2015 года), JavaFX через e (fx) clipse, JavaScript , jQuery и многие другие на Eclipse Marketplace. Valable - это плагин Vala для Eclipse.

Альтернативные дистрибутивы

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

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

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

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

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

Смотрите также

использованная литература

Источники

внешние ссылки