Eclipse (среда разработки) | это... Что такое Eclipse (среда разработки)? (original) (raw)

У этого термина существуют и другие значения, см. Eclipse.

Eclipse

Eclipse-logo.png
Eclipse 4.2 Juno screenshot.png Eclipse 4.2 Juno
Тип Разработка программного обеспечения
Разработчик Eclipse Foundation
Написана на Java
Операционная система Кроссплатформенное программное обеспечение
Языки интерфейса Многоязычный
Последняя версия 4.2.0 (Juno) (27 июня 2012)
Состояние Активный
Лицензия 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 миллионов долларов.[2] Исходный код был полностью открыт и сделан доступным после того, как 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.

Релиз Дата Версия платформы Проект
Kepler 2013 4.x проекты 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 и пр. от различных разработчиков. Множество расширений дополняет среду Eclipse менеджерами для работы с базами данных, серверами приложений и др.

Eclipse JDT (Java Development Tools) — наиболее известный модуль, нацеленный на групповую разработку: среда интегрирована с системами управления версиями — CVS, GIT в основной поставке, для других систем (например, Subversion, MS SourceSafe) существуют плагины. Также предлагает поддержку связи между IDE и системой управления задачами (ошибками). В основной поставке включена поддержка трекера ошибок Bugzilla, также имеется множество расширений для поддержки других трекеров (Trac, Jira и др.). В силу бесплатности и высокого качества, Eclipse во многих организациях является корпоративным стандартом для разработки приложений.

Eclipse написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ (см. ниже). Библиотека SWT используется вместо стандартной для Java библиотеки Swing. Она полностью опирается на нижележащую платформу (операционную систему), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает на разных платформах проблемы совместимости и устойчивости приложений.

Архитектура

Основой Eclipse является платформа расширенного клиента (RCP — от англ. rich client platform). Её составляют следующие компоненты:

GUI в Eclipse написан с использованием инструментария SWT. Последний, в отличие от Swing (который самостоятельно эмулирует графические элементы управления), использует графические компоненты данной операционной системы. Пользовательский интерфейс Eclipse также зависит от промежуточного слоя GUI, называемого JFace, который упрощает построение пользовательского интерфейса, базирующегося на SWT.

Гибкость Eclipse обеспечивается за счёт подключаемых модулей, благодаря чему возможна разработка не только на Java, но и на других языках, таких как C/C++, Perl, Groovy, Ruby, Python, PHP, Erlang, Компонентного Паскаля, Zonnon и прочих.

Проекты Eclipse

Платформа

Примеры проектов

Кроме того в состав Eclipse входят следующие проекты (перечислены лишь некоторые)[8]:

Последние версии

Eclipse 3.3.2 (Europa Winter)

Количество новых подпроектов (как управляемых Eclipse Foundation, так и сторонних) быстро увеличивается. Приходится координировать усилия огромного количества разработчиков и предлагать общие правила — «Eclipse Development Process».[31]

Последняя версия релиза включает в себя 21 подпроект.[32]

Eclipse 3.4 (Ganymede)

Релиз Ganymede (06.2008) включает в себя 23 подпроекта:[33]

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 подпроекта:[34]

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

Локализация

Начиная с версии 3.1.1, выпущен языковой пакет для русификации Eclipse. Переведены на русский язык как графический интерфейс, так и документация.[35]

Модули

Для среды Eclipse существует целый ряд свободных и коммерческих модулей. Первоначально среда была разработана для языка Java, но в настоящее время существуют многочисленные расширения для поддержки и других языков:

Язык Модуль
C/С++ CDT[36]
Fortran Photran[37]
Perl EPIC[38]
PHP PDT[39]
JavaScript JSEclipse[40]
Python PyDev (Eclipse) (англ.)[41]
Ruby RDT[42]

Модуля для поддержки Pascal на данный момент нет. Вернее, есть заброшенный плагин[44], который можно возродить при желании. Ещё есть поддержка подсветки синтаксиса паскаля плагином EclipseColorer[45], но это не может считаться полноценной поддержкой языка.

Существуют также модули для создания графических интерфейсов.

Для разработки и получения отчётов и разработки аналитических BI-приложений в Eclipse имеется BIRT Project (англ.).

В Eclipse встроена функция установки и обновления модулей через Интернет.

Популярные приложения на базе SWT и RCP

Поддерживаемые архитектуры и системы

AIX (PPC/Motif) FreeBSD (x86/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])

Примечания

  1. Darryl K. Taft. Eclipse: Behind the Name (англ.). ??? (20 мая 2005). Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  2. Фреймворк Eclipse
  3. PDE (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  4. Eclipse Java development tools (JDT) (англ.). Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  5. Rich Client Platform (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  6. ??? (англ.). Eclipse documentation. Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  7. ??? (англ.). Eclipse documentation. Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  8. Galileo is HERE! → Explore the Eclipse projects… (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  9. Сергей Голубев. Инициатива Aperi. ??? (15 ноября 2005). Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  10. BIRT Project → Business Intelligence and Reporting Tools (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  11. Eclipse Data Tools Platform (DTP) Project (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  12. Graphical Editing Framework (GEF) (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  13. Jazz Community Site (англ.). Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  14. Владимир Парамонов. IBM упростит распределённую разработку ПО. Компьюлента (31 января 2007). Проверено 3 сентября 2009.
  15. Eclipse Modeling Project (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  16. Eclipse Modeling Framework Project (EMF) (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  17. Model Development Tools (MDT) (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  18. Model Development Tools (MDT) (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  19. AspectJ (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  20. Eclipse C/C++ Development Tooling — CDT (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  21. Eclipse PHP Development Tooling — PDT. Официальный сайт. Архивировано из первоисточника 25 августа 2011.
  22. Eclipse Test & Performance Tools Platform Project (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  23. Visual Editor Project (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  24. Web Tools Platform (WTP) Project (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  25. Eclipse Communication Framework Project Home (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  26. Device Software Development Platform Project Home (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  27. PTP — Parallel Tools Platform (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  28. embedded Rich Client Platform (eRCP) (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  29. Dynamic Languages Toolkit (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  30. Swordfish SOA Runtime Framework Project (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  31. Eclipse Development Process (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  32. Eclipse Europa Release Projects (англ.). Официальный сайт (июнь 2007). Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  33. Eclipse Ganymede Release Projects (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  34. Eclipse Galileo Release Projects (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  35. Visual Editor Translations (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  36. Eclipse C/C++ Development Tooling — CDT (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  37. Photran - An Integrated Development Environment and Refactoring Tool for Fortran (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 24 марта 2011.
  38. EPIC — Eclipse Perl Integration (англ.). sourceforge.net. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  39. PHP Development Tools Project (англ.). Официальный сайт. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  40. JSEclipse:: Edit JavaScript with ease (англ.). ???. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  41. Джош Фет. Настройка Eclipse под Windows для работы с Google App Engine (рус.). ??? (июнь 2008). — Установка PyDev в Eclipse. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  42. aptana RedRails — Ruby on Rails authoring environments (англ.). ???. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  43. Aptana + PyDev = любовь с App Engine (рус.). ???. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  44. PasClipse (англ.). sourceforge.net. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  45. Eclipse platform plugin (англ.). sourceforge.net. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  46. Subclipse (англ.). ???. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  47. EclipseTrader Wiki → Welcome to EclipseTrader (англ.). ???. Архивировано из первоисточника 25 августа 2011. Проверено 3 сентября 2009.
  48. NetworkAuthority Inventory (англ.). ???.(недоступная ссылка — история) Проверено 3 сентября 2009.
  49. Schoolclipse (англ.). ???. Проверено 3 сентября 2009.

Ссылки

П: Портал «Свободное программное обеспечение»
b: Eclipse в Викиучебнике?
commons: Eclipse на Викискладе?
Просмотр этого шаблона PHP
Люди Энди ГутмансРасмус ЛердорфЗеев Сураски
Ресурсы Zend Engine • Библиотеки • PEAR • Редакторы • Акселератор
Реализации HipHopQuercus • Project Zero • PhalangerParrot
Фреймворки AppFlower • CakePHPCodeIgniterDrupal • FuelPHP • Horde • Joomla! • Lithium • Midgard • MODxQcodo • Seagull • SilverStripeSymfonyTYPO3XarayaYiiZend Framework • Zeta Components
Тестирование PHPUnit • PHP Unit Testing Framework • SimpleTest
ORM PropelDoctrine
IDE AppFlower • Eclipse PDTPhpStormNetBeansRadPHPPHP DevelStudio • PHPEdit • Zend Studio
Компилятор Phalanger
Widget toolkit wxPHP • PHP-GTKPHP-Qt
Category Категория
Просмотр этого шаблона Eclipse Foundation
AspectJ · BIRT · Buckminster · Eclipse · Equinox · EclipseLink · SWT · Mylyn · Jetty · JFace · Rich AJAX Platform · Virgo
Лицензия: Eclipse Public License · Вебсайт: http://www.eclipse.org/
Просмотр этого шаблона IDE (сравнение)
Универсальные AnjutaVisual StudioNetBeansEclipseKDevelopXcodeGeanyMonoDevelopAptana StudioOpen WatcomKomodoKylix
Си/C++ Borland C++C++ Builder • Code::Blocks • CodeLitewxDev-C++Pelles COracle Solaris StudioQt CreatorUltimate++Microsoft QuickC
Бейсик PowerBASICTurbo BasicVisual BasicQBasicQuickBASICPureBasic
Java WebLogicBlueJ • DrJava • Greenfoot • JCreator • JDeveloperIntelliJ IDEAJBuilder • JGRASP
Паскаль DelphiLazarusMSEPascalABC.NETMIDletPascalPocketStudio • Morfik • Turbo PascalQuickPascalVisible PascalGeany
PHP Aptana Studio with PHP plugin • Delphi for PHP (RadPHP) • Eclipse PDTZend StudioNuSphere PhpED • PHP Expert EditorphpStormAdobe Dreamviewer
Python Boa Constructor • Eclipse+PyDev • EricGeanyIDLEKomodoNetBeans • PyCharm • PyScripter • SPE
ActionScript Adobe FlashAdobe Flash BuilderFlashDevelop • CodeDrive • IntelliJ IDEAEclipse FDT • Realaxy ActionScript Editor
Ruby RubyMine
Просмотр этого шаблона Веб-фреймворки
ASP.NET DotNetNukeASP.NET MVC • MonoRail
ColdFusion ColdSpring • Fusebox • Mach-II • Model-Glue
Java Apache (CocoonStrutsVelocity • WebWork 2) • AppFuse • AraneaEclipseFacelets • Flexive • FreeMarkerGoogle Web ToolkitGrailsHamlets • ItsNat • JavaServer Faces • Jspx • JBoss Seam • jZeno • Makumba • OpenLaszlo • OpenXava • Reasonable Server Faces (RSF) • Restlet • RichFaces • RIFE • Shale • SmartClientSpringStripesTapestry • ThinWire • VaadinWebMacro • WebWork • WebObjects • WicketZK
JavaScript node.js • AJILE • Clean AJAX • Dojo Toolkit • Echo • Ext JSjQueryjMaki • Microsoft AJAX Library • MochiKit • MooToolsPrototype • qooxdoo • Rialto Toolkit • Ricoscript.aculo.usSmartClientSprySproutCoreYahoo! UI LibraryUnderscorePhoneGap
Perl CatalystInterchange • Titanium • Maypole • HTML:Mason
PHP Acode • Akelos • BlueShoes • CakePHP • Canvas • CodeIgniterCotonti • DIY • Drupal • Fuse • Horde • KohanaLiveStreet • PHP For Applications • PHPOpenbiz • PRADO • Qcodo • Seagull • Solar • Symfony • W3Core • YiiZend • Zoop • Joomla
Python CherryPyDjangoGAE framework • Karrigell • Nevow • Porcupine • PylonsPyramid • Spyce • TurboGearsTwistedTornado • Webware • Zope
Ruby Camping • Nitro • IOWA • Ramaze • Cerise • MerbRuby on RailsSinatra • Padrino
Прочиеязыки Alpha Five • Fusebox (ColdFusionPHP) • Helma Object Publisher (Server-side) • Lift (Scala) • Magic (Scheme) • OpenACS (Tcl) • Seaside (Smalltalk) • UnCommon Web (Common Lisp) • Yaws (Erlang) • Oracle Application Express (PL/SQL)