Оригинальный автор(ы) | ИБМ |
---|---|
Разработчик(и) | Фонд «Эклипс» |
Первоначальный выпуск | 1.0 / 29 ноября 2001 г. ( 2001-11-29 ) | [1]
Стабильный релиз | 4.33.0 [2] / 11 сентября 2024 г. (2 месяца назад) |
Репозиторий | https://github.com/eclipse-platform/eclipse.platform |
Написано в | Java , C [3] |
Операционная система | Linux , MacOS , Windows |
Платформа | Java SE , Стандартный набор инструментов для виджетов , x86-64 , AArch64 |
Доступно в | 44 языка |
Список языков Албанский, арабский, баскский, болгарский, каталонский, китайский (упрощенный, традиционный), чешский, датский, голландский, английский (Австралия, Канада), эстонский, финский, французский, немецкий, греческий, иврит, хинди, венгерский, индонезийский, итальянский, японский, клингонский, корейский, курдский, литовский, малаялам, монгольский, мьянманский, непальский, норвежский, персидский, польский, португальский (Португалия, Бразилия), румынский, русский, сербский, словацкий, словенский, испанский, шведский, тайский, турецкий, украинский, вьетнамский [4] | |
Тип | Инструмент программирования , интегрированная среда разработки (IDE) |
Лицензия | Публичная лицензия Eclipse |
Веб-сайт | eclipseide.org |
Eclipse — это интегрированная среда разработки (IDE), используемая в компьютерном программировании . [5] Она содержит базовое рабочее пространство и расширяемую систему подключаемых модулей для настройки среды. Это вторая по популярности IDE для разработки Java , и до 2016 года была самой популярной. [6] Eclipse написан в основном на Java и его основное применение — разработка приложений Java, [7] но его также можно использовать для разработки приложений на других языках программирования с помощью плагинов, включая Ada , ABAP , C , C++ , C# , Clojure , COBOL , D , Erlang , Fortran , Groovy , Haskell , HLASM , [a] JavaScript , Julia , [9] Lasso , Lua , NATURAL , Perl , PHP , PL/I , [a] Prolog , Python , R , Rexx , [a] Ruby (включая фреймворк Ruby on Rails ), Rust , Scala и Scheme . Его также можно использовать для разработки документов с помощью LaTeX (с помощью плагина TeXlipse) и пакетов для программного обеспечения Mathematica . Среды разработки включают в себя инструменты разработки Eclipse Java (JDT) для Java и Scala, Eclipse CDT для C/C++ и Eclipse PDT для PHP и другие. [10]
Первоначальная кодовая база произошла от IBM VisualAge . [11] Комплект разработки программного обеспечения Eclipse (SDK), включающий инструменты разработки Java, предназначен для разработчиков Java. Пользователи могут расширить его возможности, установив плагины, написанные для платформы Eclipse, такие как наборы инструментов разработки для других языков программирования, и могут писать и вносить свои собственные плагины. Начиная с Eclipse 3.0 (выпущенного в 2004 году), плагины устанавливаются и управляются как «пакеты» с помощью Equinox , реализации OSGi . [12]
Eclipse SDK — это бесплатное программное обеспечение с открытым исходным кодом , выпущенное на условиях Eclipse Public License , хотя оно несовместимо с GNU General Public License . [13] Это была одна из первых IDE, работающая под управлением GNU Classpath , и она без проблем работает под управлением IcedTea .
Eclipse был вдохновлен семейством продуктов VisualAge на основе Smalltalk для интегрированной среды разработки (IDE). [11] Несмотря на достаточный успех, основным недостатком продуктов VisualAge было то, что разработанный код не находился в компонентной модели разработки программного обеспечения. Вместо этого весь код для проекта хранился в сжатой базе данных с использованием методов SCID (что-то вроде zip-файла, но в формате .dat). К отдельным классам нельзя было легко получить доступ, особенно за пределами инструмента. Команда, работавшая в основном в лаборатории IBM в Кэри, штат Северная Каролина, разработала новый продукт как замену на основе Java. [14] [ проверка не удалась ] В ноябре 2001 года был сформирован консорциум с советом управляющих для дальнейшей разработки Eclipse как программного обеспечения с открытым исходным кодом . По оценкам, к тому времени IBM уже инвестировала около 40 миллионов долларов. [15] Первоначальными членами были Borland , IBM , Merant , QNX Software Systems , Rational Software , Red Hat , SuSE , TogetherSoft и WebGain. [16] К концу 2003 года число распорядителей возросло до более чем 80. В январе 2004 года был создан Фонд Eclipse . [17]
Eclipse 3.0 (выпущен 21 июня 2004 г.) выбрал спецификации OSGi Service Platform в качестве архитектуры среды выполнения. [18]
26 апреля 2012 года Ассоциация вычислительной техники наградила Eclipse премией ACM Software System Award 2011. [19]
Eclipse Public License (EPL) является основной лицензией, под которой выпускаются проекты Eclipse. [20] Некоторые проекты требуют двойного лицензирования, для которого доступна Eclipse Distribution License (EDL), хотя использование этой лицензии должно быть запрошено и рассматривается в каждом конкретном случае.
Eclipse изначально был выпущен под лицензией Common Public License , но позже был перелицензирован под лицензией Eclipse Public License. Free Software Foundation заявил, что обе лицензии являются лицензиями свободного ПО , но несовместимы с GNU General Public License (GPL). [21]
По словам Ли Накмана, главного технического директора подразделения IBM Rational (основанного в 2003 году), название «Eclipse» (используемое по крайней мере с 2001 года) не было игрой слов в честь Sun Microsystems , поскольку основным конкурентом продукта на момент присвоения названия была Microsoft Visual Studio , которую Eclipse должен был затмить. [22]
Различные версии Eclipse получили различные названия, связанные с наукой. За версиями, названными в честь Каллисто , Европы и Ганимеда , которые являются лунами Юпитера , последовала версия, названная в честь Галилея , первооткрывателя этих лун. За ними последовали два названия на солнечную тематику: Гелиос из греческой мифологии и Индиго , один из семи цветов радуги (которая создается солнцем). Версия после этого, Юнона, имеет тройное значение: римская мифологическая фигура , астероид и космический корабль к Юпитеру . [23] Кеплер , Луна и Марс продолжили тему астрономии, а затем Неон и Кислород составили тему химических элементов . Фотон представлял собой возврат к названиям на солнечную тематику.
Начиная с 2018 года [обновлять]алфавитная схема была отменена для лучшего соответствия новой стратегии одновременного выпуска. [24] Релизы именуются в формате ГГГГ-ММ, чтобы отразить квартальные выпуски, начиная с версии 4.9 с названием 2018-09. [25]
С 2006 года Фонд координирует ежегодный одновременный выпуск . [26] Каждый выпуск включает платформу Eclipse и несколько других проектов Eclipse.
С 2008 по 2018 год каждый одновременный релиз происходил в 4-ю среду июня. В 2018 году проект перешел на ежеквартальные (13-недельные) релизы YYYY-MM без промежуточных сервисных релизов. [27]
Название версии | Дата | Версия платформы | Проекты | Основные изменения | |
---|---|---|---|---|---|
Н/Д | 29 ноября 2001 г. [1] | Старая версия, больше не поддерживается:1.0 | Для запуска этой версии Eclipse на компьютере должна быть установлена среда выполнения Java версии 1.3 или комплект разработки Java. [28] | ||
Н/Д | 18 сентября 2002 г. [29] | Старая версия, больше не поддерживается:2.0 | |||
Н/Д | 15 апреля 2003 г. [30] | Старая версия, больше не поддерживается:2.1 | Для запуска Eclipse также можно использовать Java runtime или Java development kit (JDK) уровня 1.4. По-прежнему возможно использовать Java runtime или Java development kit (JDK) уровня 1.3. [31] | ||
Н/Д | 21 июня 2004 г. [32] | Старая версия, больше не поддерживается:3.0 | Для запуска этой версии Eclipse на компьютере должна быть установлена среда выполнения Java версии 1.4.1 или комплект разработки Java. [33] | ||
Н/Д | 28 июня 2005 г. | Старая версия, больше не поддерживается:3.1 | Добавлена поддержка Java 5 : обобщения, аннотации, упаковка-распаковка, перечисления, улучшенный цикл for, varargs, статический импорт [34] | ||
Каллисто | 26 июня 2006 г. [35] | Старая версия, больше не поддерживается:3.2 | Проекты Каллисто [36] | ||
Европа | 27 июня 2007 г. [35] | Старая версия, больше не поддерживается:3.3 | Проекты Европы [26] | ||
Ганимед | 25 июня 2008 г. [35] | Старая версия, больше не поддерживается:3.4 | Проекты Ганимеда [37] | ||
Галилео | 24 июня 2009 г. [35] | Старая версия, больше не поддерживается:3.5 | Проекты Галилео [38] | ||
Гелиос | 23 июня 2010 г. [35] | Старая версия, больше не поддерживается:3.6 | Проекты Гелиос [39] | ||
Индиго | 22 июня 2011 г. [35] | Старая версия, больше не поддерживается:3.7 | Проекты Индиго [40] | Добавлена поддержка Java 7 (3.7.1 sr1): улучшенный вывод типов для создания универсальных экземпляров (Diamond), Multi-catch, оператор try-with-resources, упрощенный вызов методов Varargs, строки в switch, двоичные литералы и подчеркивания в числовых литералах, полиморфные методы [41] | |
Юнона | 27 июня 2012 г. [35] | Старая версия, больше не поддерживается:3.8 и 4.2 [42] [Примечание 1] | Проекты Juno [45] | ||
Кеплер | 26 июня 2013 г. [35] | Старая версия, больше не поддерживается:4.3 | Проекты Кеплера [46] | Для запуска этой версии рекомендуется Java 6 JRE/JDK. [47] | |
Луна | 25 июня 2014 г. [35] | Старая версия, больше не поддерживается:4.4 | Проекты Луны [48] | Интегрированная поддержка Java 8 ; [49] в предыдущей версии это было возможно с помощью подключаемого модуля Java 8 . Для запуска большинства пакетов на основе этой версии требуется Java 7 JRE/JDK. [47] | |
Марс | 24 июня 2015 г. [35] | Старая версия, больше не поддерживается:4.5 | Марсианские проекты [50] | Для запуска всех пакетов на основе этой версии требуется Java 7 JRE/JDK. [47] | |
Неоновый | 22 июня 2016 г. [35] | Старая версия, больше не поддерживается:4.6 | Неоновые проекты [51] | Для запуска всех пакетов на основе этой версии требуется Java 8 JRE/JDK. [47] | |
Кислород | 28 июня 2017 г. [35] | Старая версия, больше не поддерживается:4.7 | Кислородные проекты [52] | Oxygen.1a представил поддержку Java 9 и Junit 5, а Oxygen.3a представил поддержку Java 10. [53] Прекращена поддержка следующих платформ на базе Unix: AIX, Solaris, HP-UX и s390. [54] Начиная с этой версии для запуска Eclipse требуется Java 8 или более новая JRE/JDK. [47] | |
Фотон | 27 июня 2018 г. [35] | Старая версия, больше не поддерживается:4.8 | Фотонные проекты [55] | Прекращена поддержка 32-битных Windows и Linux. | |
2018-09 | 19 сентября 2018 г. [35] | Старая версия, больше не поддерживается:4.9 | Проекты 2018-09 [56] | ||
2018-12 | 19 декабря 2018 г. [35] | Старая версия, больше не поддерживается:4.10 | Проекты 2018-12 гг . [57] | Добавлена поддержка Java 11. [58] | |
2019-03 | 20 марта 2019 г. [35] | Старая версия, больше не поддерживается:4.11 | 2019-03 проекты [59] | ||
2019-06 | 19 июня 2019 г. [35] | Старая версия, больше не поддерживается:4.12 | 2019-06 проекты [60] | ||
2019-09 | 18 сентября 2019 г. [35] | Старая версия, больше не поддерживается:4.13 | Проекты 2019-09 [61] | ||
2019-12 | 18 декабря 2019 г. [35] | Старая версия, больше не поддерживается:4.14 | Проекты 2019-12 [62] | ||
2020-03 | 18 марта 2020 г. [35] | Старая версия, больше не поддерживается:4.15 | Проекты 2020-03 [63] | Обновление поддержки языков веб-разработки с использованием протокола языкового сервера | |
2020-06 | 17 июня 2020 г. [35] | Старая версия, больше не поддерживается:4.16 | Проекты 2020-06 [64] | ||
2020-09 | 16 сентября 2020 г. [35] | Старая версия, больше не поддерживается:4.17 | Проекты 2020-09 [65] | Начиная с этой версии для запуска Eclipse требуется Java 11 или более новая версия JRE/JDK. [47] | |
2020-12 | 16 декабря 2020 г. [35] | Старая версия, больше не поддерживается:4.18 | Проекты 2020-12 [66] | JDK встроен в большинство пакетов, поэтому установка Java больше не является обязательным условием. | |
2021-03 | 17 марта 2021 г. [35] | Старая версия, больше не поддерживается:4.19 | Проекты 2021-03 [67] | ||
2021-06 | 16 июня 2021 г. [35] | Старая версия, больше не поддерживается:4.20 | Проекты 2021-06 [68] | ||
2021-09 | 15 сентября 2021 г. [35] | Старая версия, больше не поддерживается:4.21 | Проекты 2021-09 [69] | ||
2021-12 | 8 декабря 2021 г. [35] | Старая версия, больше не поддерживается:4.22 | Проекты 2021-12 гг . [70] | ||
2022-03 | 16 марта 2022 г. [35] | Старая версия, больше не поддерживается:4.23 | Проекты 2022-03 [71] | ||
2022-06 | 15 июня 2022 г. [35] | Старая версия, больше не поддерживается:4.24 | Проекты 2022-06 [72] | ||
2022-09 | 14 сентября 2022 г. [35] | Старая версия, больше не поддерживается:4.25 | Проекты 2022-09 [73] | Начиная с этой версии для запуска Eclipse требуется Java 17 или более новая версия JRE/JDK. [47] | |
2022-12 | 7 декабря 2022 г. [35] | Старая версия, больше не поддерживается:4.26 | Проекты 2022-12 [74] | ||
2023-03 | 15 марта 2023 г. [35] | Старая версия, больше не поддерживается:4.27 | Проекты 2023-03 [75] | ||
2023-06 | 14 июня 2023 г. [35] | Старая версия, больше не поддерживается:4.28 | Проекты 2023-06 [76] | ||
2023-09 | 13 сентября 2023 г. [35] | Старая версия, больше не поддерживается:4.29 | Проекты 2023-09 [77] | ||
2023-12 | 6 декабря 2023 г. [35] | Старая версия, больше не поддерживается:4.30 | Проекты 2023-12 [78] | ||
2024-03 | 13 марта 2024 г. [35] | Старая версия, больше не поддерживается:4.31 | Проекты 2024-03 [79] | ||
2024-06 | 12 июня 2024 г. [35] | Старая версия, больше не поддерживается:4.32 | Проекты 2024-06 [80] | ||
2024-09 | 11 сентября 2024 г. [35] | Текущая стабильная версия: 4.33 | Проекты 2024-09 [81] | ||
2024-12 | 4 декабря 2024 г. [35] | Будущий релиз:4.34 | Проекты 2024-12 гг . [82] |
Eclipse использует плагины для предоставления всех функций внутри и поверх системы времени выполнения. Его система времени выполнения основана на Equinox , реализации спецификации ядра фреймворка OSGi . [83]
Помимо возможности расширения платформы Eclipse с использованием других языков программирования , таких как C и Python , фреймворк подключаемых модулей позволяет платформе Eclipse работать с языками набора текста, такими как LaTeX [84] , и сетевыми приложениями, такими как telnet и системы управления базами данных . Архитектура подключаемых модулей поддерживает написание любого желаемого расширения для среды, например, для управления конфигурацией . Поддержка Java и CVS предоставляется в Eclipse SDK , а поддержка других систем контроля версий предоставляется сторонними подключаемыми модулями .
За исключением небольшого ядра времени выполнения, все в Eclipse является плагином. Таким образом, каждый разработанный плагин интегрируется с Eclipse так же, как и другие плагины; в этом отношении все функции «создаются равными». [85] 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 Abstract Window Toolkit (AWT), Swing или JavaFX . Пользовательский интерфейс Eclipse также использует промежуточный графический уровень пользовательского интерфейса , называемый JFace , который упрощает создание приложений на основе SWT. Eclipse был создан для работы на Wayland во время проекта Google Summer of Code (GSoC) в 2014 году. [86]
По состоянию на 2017 год [обновлять]языковые пакеты, разрабатываемые Babel Project, обеспечивают переводы на более чем 40 естественных языков . [4]
Eclipse предоставляет платформу расширенного клиента (RCP) для разработки приложений общего назначения.
Платформа расширенного клиента состоит из следующих компонентов:
Примерами многофункциональных клиентских приложений на базе Eclipse являются:
Eclipse поддерживает разработку для Tomcat , GlassFish и многих других серверов и часто способен устанавливать требуемый сервер (для разработки) непосредственно из IDE. Он поддерживает удаленную отладку, позволяя пользователю наблюдать за переменными и пошагово проходить код приложения, работающего на подключенном сервере.
Проект Eclipse Web Tools Platform (WTP) является расширением платформы Eclipse с инструментами для разработки веб- и Java EE-приложений. Он включает исходные и графические редакторы для различных языков, мастеров и встроенных приложений для упрощения разработки, а также инструменты и API для поддержки развертывания, запуска и тестирования приложений. [88]
Проект Modeling содержит все официальные проекты Eclipse Foundation, ориентированные на технологии разработки на основе моделей. Все они совместимы с Eclipse Modeling Framework, созданным IBM. Эти проекты разделены на шесть категорий:
Для управления жизненным циклом приложений (ALM) и управления задачами в Eclipse требуется дополнительный компонент Mylyn ( / ˈ m aɪ l ɪ n / ), реализация с открытым исходным кодом интерфейса, ориентированного на задачи . Он предоставляет API для инструментов, встраивающих интерфейс, ориентированный на задачи. Для разработчиков программного обеспечения он помогает разработчику эффективно работать со многими различными задачами (такими как ошибки, отчеты о проблемах или новые функции). Задачи интегрированы в Mylyn. Для всех интегрированных задач Mylyn отслеживает активность пользователя и пытается определить информацию, относящуюся к текущей задаче. Он использует этот контекст задачи, чтобы сфокусировать пользовательский интерфейс Eclipse на связанной информации. Mylyn может интегрироваться с такими репозиториями, как Bugzilla , Trac , Redmine , Mantis , [90] JIRA , Unfuddle [91] и GitHub . [92] Он фокусируется на повышении производительности за счет сокращения поиска, прокрутки и навигации. Делая контекст задачи явным, Mylyn также призван облегчить многозадачность, планирование, повторное использование прошлых усилий и обмен опытом.
Название проекта происходит от слова « миелин » — электроизолирующего слоя, который окружает аксоны нейронов. [93] Первоначальное название этого проекта, «Mylar», копировало торговую марку компании , производящей плёнку boPET , поэтому Фонд Eclipse изменил название проекта. [94]
Возможности Eclipse IDE включают в себя текстовый редактор с подсветкой синтаксиса, помощь в кодировании, автодополнение кода , рефакторинг кода , анализ кода с предложениями «быстрого исправления» и отладку кода . [95]
Наряду с собственной поддержкой OSGi, начиная с Java 9, была добавлена поддержка JPMS. [95]
Eclipse поддерживает богатый выбор расширений, добавляя поддержку Python через PyDev , разработку Android через Google ADT (замененную Android Studio с 2015 года), JavaFX через e(fx)clipse, JavaScript , jQuery и многие другие в Eclipse Marketplace. Valable — это плагин Vala для Eclipse. [96]
В дополнение к встроенным предупреждениям компилятора Java, доступны дополнительные плагины для линтинга , позволяющие улучшить качество и согласованность кода, такие как SpotBugs и Sonar. [97] [98]
Поддержка инструментов сборки, таких как Ant , Maven , Make и CMake, включает возможность замены собственного формата файла проекта Eclipse на Maven pom.xml напрямую. [99]
В проекте Eclipse существует несколько альтернативных дистрибутивов.
Проект PHP Hypertext Preprocessor (PHP) Development Tools предоставляет фреймворк для платформы Eclipse. Проект охватывает все компоненты разработки, включая автодополнение кода, разработку PHP и содействие расширяемости. Он использует существующую платформу Eclipse Web Tools Platform (WTP) и Dynamic Languages Toolkit (DLTK). [100]
Android Development Tools (ADT) был заменен в 2015 году собственным плагином Eclipse Foundation под названием Andmore: Development Tools for Android [101] после того , как Google прекратил разработку своего плагина для Eclipse IDE, который был разработан для предоставления интегрированной среды для создания приложений Android. ADT/Andmore расширяет возможности Eclipse, позволяя разработчикам настраивать новые проекты Android, создавать пользовательский интерфейс приложения, добавлять пакеты на основе API Android Framework, отлаживать свои приложения с помощью инструментов Android SDK и экспортировать подписанные (или неподписанные) файлы .apk для распространения своих приложений. Он доступен для бесплатной загрузки. ADT от Google был официальной IDE для Android до 2015 года, но был заменен Andmore от Eclipse и официальной Android Studio [ 102] [103] По состоянию на 2024 год проект, по-видимому, находится в упадке, с 2017 года он не проявлял никакой активности. [104]
Eclipse Web Tools Platform (WTP) расширяет платформу Eclipse инструментами для разработки веб-приложений и приложений Java EE. Он включает в себя редакторы исходного кода и графические редакторы для различных языков, мастера и встроенные приложения для упрощения разработки, инструменты для поддержки развертывания, запуска и тестирования приложений, а также API для расширения его функциональности.
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка )