Интернет. Настройки. Тарифы. Телефон. Услуги

Начало работы с платформой Eclipse (документация). Создание программы в JDT

The Eclipse Project is an open source project of сайт, overseen by a Project Management Committee (PMC) and project leaders. The work is done in subprojects working against . The Eclipse Project Charter describes the organization of the project, roles and responsibilities of the participants, and top level development process for the project. The JDT and PDE are plug-in tools for the Eclipse Platform. Together, these three pieces form the Eclipse SDK , a complete development environment for Eclipse-based tools, and for developing Eclipse itself.

  • Eclipse Project Development
    Release plans and other information about the Eclipse Project development process.

  • Download the Eclipse SDK, Eclipse RCP, SWT, the Eclipse Java compiler, and many more. You can find the current release here. Or, download the latest stable and integration builds if you want to try out the newest features under development, or get started with contributing to the project.

  • Browse the documentation included with Eclipse Project releases.

Subprojects


  • The Platform defines the set of frameworks and common services that collectively make up "integration-ware" required to support the use of Eclipse as a component model, as a rich client platform () and as a comprehensive tool integration platform. These services and frameworks include a standard workbench user interface model and portable native widget toolkit, a project model for managing resources, automatic resource delta management for incremental compilers and builders, language-independent debug infrastructure, and infrastructure for distributed multi-user versioned resource management.

  • The JDT provides the tool plug-ins for the platform that implement a Java IDE for power-users, that supports the development of any Java application, including Eclipse plug-ins. The JDT adds the notion of Java projects and a Java perspective to the Eclipse platform, as well as a number of views, editors, wizards, builders, and code merging and refactoring tools. The JDT allows Eclipse to be a development environment for itself. The JDT plug-ins themselves can also be further extended by other tool builders.

  • The PDE project provides a number of views and editors that make is easier to build plug-ins for Eclipse. Using the PDE, you can create your plug-in manifest file (plugin.xml), specify your plug-in runtime and other required plug-ins, define extension points, including their specific markup, associate XML Schema files with the extension point markup so extensions can be validated, create extensions on other plug-in extension points, etc. The PDE makes integrating plug-ins easy and fun.

  • The e4 project is an incubator for developing the next generation of the Eclipse platform. The mission of the e4 project is to build a next generation platform for pervasive, component-based applications and tools.

Что вам дает вклад IBM в сообщество разработчиков open source

Марк Эриксон (Marc Erickson) и Ангус Макинтайр (Angus McIntyre)
Опубликовано 01.11.2001

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

  • Равные условия и полное раскрытие информации при отсутствии скрытых API и интерфейсов от инструмента к инструменту. Eclipse предлагает для этой цели открытый исходный код платформы. Для проверки качества, портативности и быстродействия кода опубликованные API тестируются консорциумом смежных индустрий.
  • Свобода в расширении платформы для достижения новых возможностей. Eclipse предоставляет возможность создания производных работ, включая перераспределение платформы. Использование Eclipse позволяет разработчикам инструментов сфокусироваться на собственных основных задачах и новых моделях для технологии разработки.
  • Получение своевременных ответов на требования об изменениях и улучшениях продукта, предоставляемых контролируемым и организованным способом. Посредством сайта www.eclipse.org разработчики могут вносить различные изменения. Это достигается путем совместной работы и всяческого содействия разработчиков в развитии платформы.

Вопросы и ответы

    Что такое Eclipse.org?

    Eclipse.org является открытым консорциумом поставщиков инструментов разработки программного обеспечения, сформированным в сообщество. Сообщество заинтересовано в совместной работе для улучшения сред разработки и интеграции продукта. Сообщество разделяет общие интересы в создании таких продуктов, которые будут способны легко взаимодействовать в различных средах путем использования технологии плагинов. При совместной деятельности и распределения ключевой технологии интеграции поставщики Eclipse-совместимых инструментов могут сконцентрироваться на собственных областях экспертизы и создании новых технологий разработки.

    Что представляет собой платформа Eclipse?

    Основной идеей проекта Eclipse является создание "Apache для инструментов разработчика". Под этим подразумевается создание инфраструктуры с открытым кодом, предоставляющей множество базовых сервисов, так необходимых разработчикам ПО. Это должен быть "инструментарий для разработки инструментариев". Являясь не просто набором API, инфраструктура Eclipse будет состоять из реального кода, созданного для выполнения реальной работы.

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

    Почему IBM распространяет Eclipse в виде открытого кода?

    Открытый код – это единственный способ предоставить открытую платформу для интеграции инструментов. Кроме того, использование открытого кода влечет за собой и другие преимущества.

    Основным из таких преимуществ является повторное использование продуктов. Зачем что-либо перестраивать, если оно уже существует в рабочем формате? Используя открытую платформу Eclipse, создатели инструментов могут сфокусироваться на области собственных разработок, предоставляя инструментальную инфраструктуру для построения интегрированных сред разработки (IDE). Как бы то ни было, использование чужого кода начинает завоевывать доверие.

    Доверие к любой новой архитектуре или платформе завоевывается долго. К примеру, тяжело завоевать доверие разработчиков в создании инструментов, содержащих частного рода интерфейсы, которые ограничивают использование приложения в отдельно взятой операционной системе (к примеру, Windows). Кроме того, трудно завоевать доверие создателей инструментов, когда различные уровни API поставляются с разными уровнями инструментов (к примеру, API сообщества, отличающиеся от корпоративных API).

    Платформа Eclipse позволяет добиться доверия, предоставляя исходный код платформы.

    Открытый код предоставляется для всех API, без каких-либо внутренних, собственных или скрытых интерфейсов. Разработчики, чье доверие завоевывается долго, могут видеть код и делать соответствующие выводы. Доверьтесь исходникам и внедряйте новшества!

    Объединение разработчиков открытого кода может также помочь в создании более качественного кода. При совместной работе над кодом создатели вкладывают в него дополнительные усилия. Такой код становится отражением их работы, порождением индивидуальной и корпоративной репутации. Доверьтесь исходникам и устанавливайте свои позиции на рынке!

    Открытый проект, основывающийся на чистых спецификациях, может предоставлять код, который легче понять. Интерфейс описывает (выражаясь терминами "черного ящика") абстрактное поведения компонента. Исследуя исходники, разработчики могут построчно разобрать действие кода. Тяжело довериться чужому интерфейсу. Доверьтесь исходникам, и исследуйте технологию!

    В открытом коде легче проводить отладку. При нахождении ошибки, просмотр исходного кода поможет ускорить идентификацию ее причины. Это может быть ваша ошибка, или ошибка платформы и окружения. Доступ к исходникам сводит "на нет" работу по угадыванию причины ошибки. Совместное обсуждение проблем на форумах позволяет делиться заметками с теми, кто знаком с подобными проблемами. Если проблема возникает в общеиспользуемом открытом исходном коде, ее легче устранить или попытаться обойти. Доверьтесь исходникам, чтобы получить необходимую информацию.

    Работать над сложной технологией в одиночку довольно тяжело. Несколько создателей инструментов могут взять на себя смелость и совместно исследовать новую технологию. Доверьтесь исходникам, чтобы уменьшить риск!

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

    Гибкость – вот основное свойство Eclipse. С платформой Eclipse не удовлетворяющий вас компонент можно модифицировать по вашему требованию. К примеру, если вас не устраивает редактор, создайте собственный или подключите один из популярных редакторов, созданных на рынке открытых компонентов, предлагаемом платформой Eclipse. Желаете привязать новую платформу размещения в существующую сквозную поддержку? Доверьтесь исходникам и создавайте плагины!

    Итак, открытый исходный код, открытое сообщество и открытая платформа устанавливают равные условия которые необходимы малым и крупным создателям инструментов для поддержки сквозных проектов разработки и исследования новых горизонтов.

    Вы все еще сомневаетесь?.. Поблагодарим Фрэнка Хэкера (Frank Hecker) за его великолепную работу по созданию магазина с открытым исходным кодом (смотрите ссылку в разделе Ресурсы).

    На каких платформах доступна Eclipse?

    Eclipse была реализована и протестирована для Windows NT, Windows XP (Beta), Windows 2000, Windows 98, Windows ME и Red Hat Linux Version 7.1. Технология Eclipse была написана на языке Java, что позволяет легко использовать ее в широком кругу различных платформ.

    Будет ли Eclipse перенесена на другие платформы?

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

    Какова стоимость платформы Eclipse?

    Платформа Eclipse доступна под лицензией Common Public License. Детали лицензии указаны на сайте http://www.eclipse.org.

    Как быть с тем, что разработчики инструментов в действительности не горят желанием иметь дело с исходным кодом, и не могут извлечь из него особой выгоды?

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

    Не приведет ли это в конечном итоге к разделению продукта на несовместимые версии?

    Сообщество Eclipse обладает правом определять и утверждать "официальные" версии платформы Eclipse. Участники сообщества могут также вносить для собственных нужд изменения и дополнения. Впрочем, основы кода различаются, и создание индивидуальной версии вне проекта Eclipse становится все сложнее. Возрастают также затраты на перенос в нее улучшений из "официальной" версии. Таким образом, все члены сообщества Eclipse заинтересованы в совместной работе над общей основной технологией и инфраструктурой Eclipse.

    Будут ли приняты шаги для определения "официальной" версии в поставляемых продуктах (к примеру, как составной части бренда наподобие "Eclipse Inside")?

    Этот вопрос рассматривается на совете директоров Eclipse.

    Каков риск потребителя при использовании индивидуальных версий?

    Обычно, "официальная" версия платформы Eclipse после тестирования и обзора помещается на сайт www.eclipse.org. Эта версия поддерживается через Eclipse.org. Индивидуальные версии должны полностью поддерживаться поставщиком, поэтому выгода, получаемая при сотрудничестве с членами сообщества, теряется.

    Будут ли создатели инструментов беспокоится об открытом коде технологии Eclipse, "портящем" другой код, если они используют его в собственных проектах?

    Eclipse поставляется под лицензией Common Programming License, которая не позволяет "портить" другой код, вызывающий код Eclipse с использованием открытых API.

    А что насчет неприятных моментов, которые пользователи могут найти в исходном коде Eclipse, например ошибок?

    Разработка открытого кода увеличивает шансы нахождения и исправления как небольших, так и серьезных ошибок. Они обнаруживаются и исправляются оригинальным разработчиком или членами сообщества.

    Может ли раскрытие исходного кода выдать конфиденциальные планы и стратегии конкурентам?

    Да, по-существу мы делимся стратегиями с нашими конкурентами. Несомненно, существуют и более значительное мнение. Разработчики устали интегрировать инструменты только в свои приложения. Они устали тратить время на выяснение того, как заставить инструменты работать вместе в сквозном вычислительном окружении. При помощи платформы Eclipse каждый сможет извлечь выгоду из полного понимания того, как интегрировать IDE на промышленном уровне. Мы делаем это исключительно для того, чтобы упростить работу конечного разработчика.

    Могут ли пользователи просто использовать исходный код Eclipse и прибегать к поддержке членов сообщества без адекватной отдачи?

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

    А что если конкуренты попытаются "украсть" продукт с открытым исходным кодом для собственных целей?

    Такая попытка возможна, однако сообщество находится под защитой лицензии Common Public License. Официальные версии платформы Eclipse будут выпускаться и в будущем. Лицензия построена так, что ни один поставщик не сможет нелегально воспользоваться выгодой от использования продукта. В совместной работе над проектом Eclipse мы хотим помочь добиться полноценных равных условий для разработчиков инструментов.

    Где найти информацию об интегрировании инструментов в технологию Eclipse?

    На сайте http://www.eclipse.org есть несколько технических описаний.

    Как работает платформа Eclipse, и какие функции она предлагает?

    Платформа Еclipse была построена на следующих принципах:

    • Содействие в однородной интеграции внутренних инструментов, а также между различными типами контента и поставщиками инструментов.
    • Поддержка создания разнообразных инструментов.
    • Поддержка неограниченного множества поставщиков инструментов, включая независимых поставщиков ПО (ISV).
    • Поддержка инструментов для работы с любыми форматами (включая HTML, Java, C, JSP, EJB, XML и GIF).
    • Поддержка сред разработки приложений с графическим интерфейсом (GUI) и без него.
    • Запуск на широком диапазоне операционных систем, включая Windows и Linux.
    • Использование популярности языка Java для написания инструментов.
  • Будет ли IBM передавать исходный код платформы Eclipse открытому сообществу? Когда это будет происходить?

    Да, исходный код доступен уже сейчас, под лицензией Common Public License. Очень скоро IBM передаст Eclipse временному совету директоров, который будут осуществлять управление платформой Eclipse.

    Кто находится во временном совете директоров?

    Временный совет будет анонсирован позднее.

    Я хочу присоединиться к сообществу. Как это сделать?

    Посетите сайт www.eclipse.org.

    Как стать членом совета?

    Сотрудничать, способствовать, содействовать: предлагать со своей стороны код, идеи, продукты, исправления ошибок, осуществлять обмен знаниями и опытом.

    Каким образом осуществляется поддержка платформы Eclipse?

    Поддержка осуществляется посредством форума и e-mail на добровольной основе, используя признанные сообществом ресурсы. Подробная информация находится на сайте www.eclipse.org

    Осуществляется ли круглосуточная поддержка?

    По какому принципу избирается временный совет директоров?

    С ограниченным персоналом команда Eclipse может взаимодействовать только с отдельными несколькими компаниями, выбранными для создания платформы. Члены временного совета директоров избираются из компаний, которые способствовали развитию платформы, пока на опытной основе. При выборе используется три критерия: члены совета должны использовать Eclipse в своей компании; они должны также использовать Eclipse для создания коммерческих предложений; они должны открыто поддерживать Eclipse.org.

    Почему вы так долго задерживали выпуск исходного кода Eclipse?

    Когда планы компании по поставке исходного кода были тщательно изучены, группа разработчиков пожелала убедиться в том, что первая платформа была основательно разработана и тщательно протестирована. Мы опробовали несколько альтернативных концепций построения, некоторые из которых уже появились на рынке. Впоследствии мы поделились этими идеями с другими поставщиками инструментов и улучшили их. Теперь платформа Eclipse готова к первому выпуску.

    Когда IBM передает технологию в свободное распространение, означает ли это то, что IBM больше не является приверженцем этой технологии?

    IBM является приверженцем принятия платформы Eclipse и ее использования в качестве основы для всего семейства сквозных инструментов разработки ПО IBM, которым является семейство WebSphere Studio. Эти продукты получают лишь выгоду от использования интегрированной проверки качества, от ставшей уже легендарной поддержки продуктов IBM, а также от нашей приверженности бренду IBM. Они используют подобные интерфейсы и построены на технологии, общей с платформой Eclipse.

    Где можно найти документацию и информацию об Eclipse?

    На сайте www.eclipse.org.

    Насколько Eclipse отличается от.NET?

    Технология.NET была создана исключительно для использования на платформах Microsoft посредством собственного интерфейса, навязываемого Microsoft. Разработчики должны реагировать на изменения, происходящие в.NET. В мире, характеризуемом как нечто большее, чем технология "wintel", платформа.NET вызывает значительные неудобства. Сквозные вычислительные проекты, в которых необходимо осуществлять интеграцию серверов, рабочих станций, встраиваемых устройств и портативных КПК, работают во множестве других высокоразвитых и прогрессивных средах выполнения программ. Это приводит к использованию множества мощных архитектур процессоров и операционных платформ, таких как OS/390, Linux и QNX.

    Платформа Eclipse доступна в рамках открытой публичной лицензии со всеми четко задокументированными API и точками расширения, поэтому она позволяет разработчикам инструментов поддерживать любое количество рабочих окружений, включая и продукты Microsoft.

    Можно ли сравнить Eclipse с инициативой Open Source от Sun Microsystems?

    Идеей проекта Eclipse является создание "Apache для инструментов разработчика". Под этим подразумевается создание инфраструктуры с открытым кодом, предоставляющей множество базовых сервисов так необходимых разработчикам ПО. Это должен быть "инструментарий для разработки инструментариев". Являясь не просто набором API, инфраструктура Eclipse будет состоять из реального кода, созданного для выполнения реальной работы.

    Как утверждает Эрик Гамма (Erich Gamma): "В Eclipse все является плагинами. У Java IDE нет особого статуса, он всего лишь является другим набором плагинов, демонстрирующим легко интегрируемую расширяемость платформы. Превращение платформы Eclipse в open source позволяет создателям инструментов делать то же самое и не только для создания новых плагинов, но также помогать усовершенствованию уже существующих. В результате, крупные предприятия и представители предприятий имеют равные условия для интеграции инструментов".

    Каковы различия между WebSphere Studio Workbench и платформой Eclipse?

    WebSphere Studio Workbench использует Eclipse в качестве фундамента для предоставления интеграции продуктов, поддерживающих программную платформу WebSphere. WebSphere Studio Workbench является примером использования технологии Eclipse из платформы Eclipse.

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

    Они отличаются в четырех основных моментах:

    1. Поддержка

      Поддержка платформы Eclipse осуществляется через консорциум Eclipse.org, в то время как поддержка WebSphere осуществляется стандартной структурой поддержки IBM (PartnerWorld).

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

      Патформа Eclipse доступна в рамках лицензии "Common Public License", в то время как WebSphere Studio Workbench доступна в рамках лицензии IBM PartnerWorld

      Побочные продукты / Модификации исходного кода

      Платформа Eclipse позволяет разработчикам инструментов исследовать новые границы, выбирать в качестве целей новые платформы и операционные системы путем расширения и изменения кода, полученного из проекта Eclipse. WebSphere Studio Workbench должна интегрироваться и распространяться в том первоначальном виде, в котором она поставляется IBM.

      Брендинг

      Технология Eclipse не заявлена централизованным брендом. Как составная часть бренда, она может быть принята членами сообщества при выпуске совместимых продуктов. WebSphere Studio Workbench содержит собственную индивидуальную марку, партнерские программы и предложения поддержки.

  • Когда следует выбрать Eclipse, а когда WebSphere Studio Workbench?

    Для помощи в выборе используемой технологии создателям инструментов требуется ответить на несколько простых вопросов:

    Определить поддерживаемое рабочее окружение инструмента:

    • Если только WebSphere, то следует выбрать WebSphere Studio Workbench.
    • Другие окружения или расширения для будущих технологий? Следует выбрать платформу Eclipse.
    • Оба окружения. Выбор следует сделать после оценки степени совместной деятельности IBM и партнерских программ IBM.
  • Будет ли вами осуществляться поддержка всего предложения, как кода Eclipse, так и вашего собственного?

    • Если нет, то скорее вам подойдет WebSphere Studio Workbench.
  • Предоставляете ли вы инструменты для платформ, не поддерживаемых IBM?

    • Если да, то следует выбрать платформу Eclipse.
    • Если нет, то выбор следует сделать исходя из двух предыдущих критериев.
  • Желаете ли вы иметь официальную поддержку и участие в доступных партнерских программах IBM.

    • Если да, то следует выбрать WebSphere Studio Workbench.
    • Если нет, то следует выбрать платформу Eclipse.

Java является высокоуровневым языком программирования, который был разработан компанией Sun Microsystems ещё в 1995 году. На сегодняшний день развитием данной технологии занимается компания JCP (Java Community Process ). Одной из главных особенностей языка является компиляция, выполняющаяся непосредственно при сборке программы.

Код превращается в байт-код, после чего выполняется в виртуальной машине Java. JVM выступает транслятором, связывающим язык программирования с необходимыми компонентами компьютера. Такой принцип позволяет программам работать на любых системах, где установлена виртуальная машина.

Особенности языка программирования

Объекто-ориентированный и типизированный язык Java обладает множеством полезных для разработчиков особенностей. Среди них можно выделить следующее:

  • Простота в изучении. Основных знаний об объектно-ориентированном программировании будет достаточно для комфортного освоения языка.
  • Объектно-ориентированная методология. Программы состоят из объектов, которые можно легко расширять и адаптировать для достижения поставленных целей.
  • Безопасность. Шифрование с открытым ключом обеспечивает наилучшие методы проверки подлинности.
  • Платформо-независимость. Программы, написанные на языке, компилируются в байт-код, который способен работать на абсолютно любых платформах современных операционных систем.
  • Портативность. Язык программирования никак не зависит от реализуемых аспектов спецификаций.
  • Прочность. Java-машина способна справиться со многими ошибками, благодаря ориентации и упору компании-разработчика на постоянную проверку и уменьшение временных затрат, возникающих при компиляции.

Кроме того, данный язык весьма распространен, так как характеризуется как многопоточный, высокопроизводительный, интерпретированный и динамический.

Особенности программных платформ Java

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

  • Общепринятые технологии развёртывания программ в пользовательской среде.
  • Инструментарии для создания графических интерфейсов любой сложности.
  • Библиотеки для удалённого управления объектами и программного доступа к данным.
  • Инструменты для запуска, отладки, компиляции, мониторинга и других действий с приложениями.

Что такое Eclipse?

Eclipse - среда разработки, в настоящее время контролируемая компанией Eclipse Foundation. Она предоставляет открытый исходный код, что обеспечивает новые возможности для разработчиков. Написана она на Java и предназначена для улучшения процесса создания программного обеспечения.

Данный проект - это инфраструктура, предоставляющая важные для разработчиков базовые сервисы. Имеющиеся инструменты позволяют создавать новые технологии в Eclipse. Среда разработки является не просто собранием API - она может справиться с полноценными задачами.

Огромное количество плагинов с открытым исходным кодом дарит неограниченные возможности для разработчиков инструментариев. В программу могут быть добавлены любые дополнения, что в итоге позволит настроить и адаптировать её под любую задачу.

Особенности платформы

Среда программирования обладает следующими особенностями:

  • Широкая сборка API для добавления новых модулей, а также фреймворк для программирования любых расширений.
  • Поддержка всех популярных операционных систем.
  • Программирование в большинстве известных языков позволяет именно Eclipse - среда разработки. Си шарп (C#), Java, PHP, C, Python, C++ и многие другие языки поддерживаются данной программой.
  • Доступна технология RCP, возможностей которой будет достаточно для разработки клиентского ПО любой сложности и масштаба.
  • Модульность программы обеспечивает невероятное удобство и гибкость в работе.

Проект Eclipse продолжает развиваться во многих направлениях. Программа постоянно улучшается, расширяется её функционал путём добавления новых плагинов.

Архитектура платформы

Среда программирования состоит из нескольких основных элементов. Во-первых, это Eclipse Runtime, отвечающая за работу модулей и плагинов. К данной исполняющей среде относится базовый функционал. Это подразумевает управление обновлениями, взаимодействие с системой, настройку плагинов, поддержку работоспособности раздела помощи.

Во-вторых, это сама IDE, отвечающая за управление проектами, ведущими элементами программы, а также за отладку, командную разработку и поиск среди файлов.

Такие плагины, как PDE и Java Development Tools, также включены в Eclipse. Среда разработки Java-программ и новых дополнений с использованием этих плагинов становится в разы функциональнее.

Примеры других специализированных сборок

Вышеуказанная Eclipse SDK является одной из версий платформы. Доступно ещё несколько сборок IDE с уникальными особенностями, а именно:

  • For Java EE Developers. Версия предназначена для программирования корпоративных или веб-приложений с применением Java EE.
  • For JavaScript Web Developers. Сборка для создания веб-продуктов с использованием CSS, XML, HTML и JavaScript.
  • For Java Developers. Версия для программирования на Java.
  • For C/C++ Developers. Сборка для программирования на языках C++ и C.

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

Конкурирующие продукты

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

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

Главным конкурентом рассматриваемой программы является продукт NetBeans, и он полностью бесплатен. За лицензию Eclipse же придётся заплатить, и некоторых это отпугивает. Среди остальных конкурирующих продуктов можно выделить также IntelliJ IDEA, JDeveloper, Android Studio, DrJava и MyEclipse. Но лучшей многие считают именно Eclipse. Среда разработки радует пользователей уже много лет и не прекращает это делать!

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

Помимо языка Java, на котором написан Eclipse, среда разработки применяется и для других языков программирования. Создано много плагинов, поддерживающих языки C++, Fortran, Perl, Prolog, Python, Ruby и др. Платформа может быть основой для другого ПО, которое не имеет отношения к написанию программ, например telnet и СУБД. Еще один пример кода, основанного на Eclipse, - среда разработки PDT с базовыми функциями для редактирования и отладки PHP-приложений.

Все права извращены

Открытое ПО лицензировано для того, чтобы гарантировать права пользователей. Например, исходная программа должна предоставляться с правом ее изменять и распространять. Такой уровень защиты прав достигнут с помощью копилефта. Копирайт защищает авторское право, запрещая распространение программ в том случае, когда пользователь этим правом не обладает. Копилефт также требует покрытия лицензией распространяемого ПО без изменений. При этом суть авторского права становится противоположной. Копилефт применяет копирайт не для сохранения прав разработчиков, а для передачи их пользователям.

Поэтому есть опасения и сомнения, что открытые программы приведут к потере интеллектуальной собственности, так как copyleft распространится и на другие части ПО. Иначе говоря, лицензия потребует, чтобы все приложение, содержащее открытый исходный код, распространялось с такими же правами. Это справедливо для General Public License (GNU) - под ней распространяется Linux. Но есть разрешения, которые обеспечивают другое отношение общественных и коммерческих интересов.

OSI является некоммерческой организацией, которая чётко определяет, что такое открытый исходный код, и одобряет те лицензии, которые удовлетворяют её критериям. Платформа Eclipse распространяется по EPL, открытой лицензии, сертифицированной OSI и облегчающей ее коммерческое применение с сохранением лояльности авторов открытого ПО.

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

И хотя многие не станут пользоваться Eclipse для создания собственных разработок, доступность исходного кода платформы имеет большое значение не только благодаря отсутствию платы, но и потому, что оказывает содействие инновациям и стимулирует программистов вносить собственный продукт в качестве вклада в общее дело. Главная причина этого - чем больше в проект вкладывается труда, тем значимее он для всех. Если он приносит пользу, то число разработчиков увеличивается еще больше и вокруг проекта создается сообщество, похожее на те, которые возникли около Linux и Apache.

Некоммерческая организация

Eclipse - среда разработки, библиотеки и инструментарий для создания, развертывания и управления ПО, а также сообщество его создателей. Создана платформа компанией IBM в 2001 г. при поддержке поставщиков ПО.

Фонд Eclipse учрежден в 2004 г. Является некоммерческим объединением, поддерживающим проекты платформы и улучшающим общество разработчиков и систему взаимодополняющих программ и сервисов. Сегодня в экосистему Eclipse входят организации и частные лица индустрии ПО.

Фонд осуществляет контроль и управляет проектами платформы. Он обслуживает сообщество, а разработчики, которых зовут коммитерами, в штате не состоят. Они являются сотрудниками других организаций или независимыми программистами, добровольно жертвующими своим личным временем для работы в проекте.

Eclipse: характеристики платформы

  • Создание различных инструментов разработки программ.
  • Неограниченное количество поставщиков инструментальных средств, в том числе независимых.
  • Поддержка инструментария для работы с различным контентом, например HTML, C, EJB, Java, JSP, GIF и XML.
  • Обеспечение полной интеграции внутри и между разным контентом.
  • Eclipse-среда разработки программ с или без него.
  • Работа в разных операционных системах, в том числе Linux, Windows, Solaris AIX, Mac OS X.
  • Использование Java, популярного языка написания инструментов.

Eclipse: руководство по началу работы

После первого запуска программы появляется приветствие. Пользователь может перейти к обзору и узнать новые функции, примеры или пройти обучение.

Рабочее пространство составлено из панелей-представлений. Совокупность представлений именуется перспективой. Перспектива «Ресурсы», например, включает представления для редактирования, управления и просмотра проектов.

Начинающие пользователи должны стартовать с «Основ инструментального пространства», где можно почерпнуть много информации, касающейся разных составляющих Eclipse и их взаимодействия.

Работа с JDT

Для знакомства с JDT можно открыть проект Eclipse Java. Для этого следует выбрать пункт меню "Файл" - "Новый" - "Проект Java", ввести имя проекта и нажать «Завершить».

Чтобы сменить текущую перспективу, необходимо выбрать пункт меню "Окно" - "Открыть перспективу" - Java или открыть новое окно через "Окно" - "Новое окно" и выбрать другую перспективу.

Перспектива содержит представления, которые предназначены для разработки на языке Java. В левом углу, сверху, расположена иерархия с пакетами Eclipse Java, классами, JAR-архивами и разными файлами, которая называется «Обозреватель пакетов». Главное меню при этом пополнилось на 2 пункта: Source и Refactor.

Создание программы в JDT

Чтобы создать приложение Java, следует нажать правой кнопкой по созданному ранее проекту и выбрать пункт "Новый" - "Класс". Во всплывшем диалоговом окне следует ввести имя класса. Под вопросом: «Какие заготовки методов вы хотите создать?» - указать public static void main(String args) и нажать «Завершить».

В результате будет создана программа, содержащий введенный класс и пустой main(). Метод необходимо заполнить программным кодом (объявление j пропущено намеренно):

public class Hello {

public static void main (String args) {

for(j=0; j<=5;j++)

System.out.println(“Привет”);

Во время набора можно заметить возможности редактора:

  • автодополнение;
  • проверка синтаксиса;
  • автозакрытие открывающейся скобки или кавычек.

Автодополнение кода вызывается сочетанием клавиш Ctrl + пробел. При этом появится зависящий от контекста список опций, выбираемых клавиатурой или мышью, будь то перечень методов данного объекта или часть ключевого слова.

Синтаксис проверяется с учетом инкрементной компиляции. Она происходит во время записи кода одновременно с его компилированием. Ошибки синтаксиса подчеркнуты красным, и левее их появляется точка красного цвета с белым косым крестом. Остальные ошибки обозначаются на полях в виде лампочки. Их можно исправить самостоятельно с помощью Quick Fix.

Во введенном примере лампочка расположена напротив оператора for, потому что отсутствует объявление i. После двойного щелчка мышью на лампочке появится перечень возможных исправлений. В этом случае для j предлагается создать:

  • поле класса;
  • параметр метода;
  • локальную переменную.

Если выбрать мышью один из вариантов, то можно увидеть результирующий текст.

Двойной щелчок на необходимом варианте генерирует программный код.

Запуск приложения

При отсутствии ошибок компиляции приложение можно запустить через пункт меню «Пуск». Шага компиляции нет, так как она совершается во время сохранения кода. В появившемся диалоге «Конфигурация запуска», необходимые значения которого уже заданы, нужно щелкнуть мышью на кнопке Run справа, внизу. Внизу появится консоль с закладками и результатом работы приложения.

Программа может быть запущена в отладчике. Прежде всего устанавливается контрольная точка в System.out.println() двумя щелчками мыши на сером поле левее окна редактирования, рядом с вызовом метода. В результате появится точка синего цвета. Выбрать меню "Пуск" - "Отладка". Окно конфигурации запуска появится снова. После нажатия кнопки «Пуск» появится перспектива отладки с новыми представлениями.

В представлении «Отладка» слева, вверху, расположен стек вызовов и для управления ходом работы программы. Панель содержит кнопки остановки, продолжения и завершения работы приложения, выполнения и пропуска следующего оператора и возврата из метода. Справа вверху расположен ряд панелей с закладками: переменные, контрольные точки, выражения и экран. При выборе закладки переменных можно увидеть значение переменной j.

Подробные данные о каждом из представлений может дать контекстная подсказка. Нужно лишь щёлкнуть мышью на заголовке панели и нажать F1.

Дополнительные плагины

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

Система управления исходниками CVS позволяет проводить над ними. При этом вносимые изменения не смешиваются. Это важная и неотъемлемая часть Eclipse.

Среда разработки находится на сайте eclipse.org. Плагины расположены в каталоге Plug-in Central.

Архитектура

Основа платформы - насыщенные функционально клиенты RCP. Упрощенно их можно представить набором плагинов, используемых при разработке программ. Также есть дополнительные рекомендуемые составляющие и необязательные.

Основные компоненты следующие:

  • Среда выполнения определяет модель компонентов на основе спецификации OSGi, расширений и точек расширения. Также обеспечивает добавочными сервисами, такими как системный журнал и параллелизм.
  • SWT-пакет содержит виджеты функций Eclipse и интерфейса пользователя. Имеет надстройку с классами, облегчающими создание графических приложений.
  • Пространство инструментов включает перспективы, представления и окна редактирования.
  • Компонент «Помощь» обеспечивает поддержку пользователей в виде справочной системы или интерактивного списка задач.
  • Плагин «Обновление» позволяет получить новейшую версию ПО.
  • Компонент «Команда» предлагает инфраструктуру для подключения собственных

Платформа, созданная IBM, стала полнофункциональной системой с открытым кодом. Ее участниками являются свыше сотни компаний. Хотя идеи о создании таких систем были и раньше, продуманный, надёжный и элегантный дизайн Eclipse позволил ей занять передовые позиции.

В данной статье я хотел рассказать о том, как создавать приложения при помощи Eclipse RCP (Rich Client Platform). Поводом для написания послужил тот факт, что на Хабре абсолютно отсутствуют статьи, описывающие данную платформу. В качестве примера мы создадим пользовательскую форму ввода; корректность данных будет проверяться при помощи JFace Data Binding framework. Для затравки приведу ниже скриншот с тем, что у нас должно получиться.

Что такое Eclipse RCP

Для начала, все же необходимо сказать, что же такое Eclipse RCP. Eclipse – это среда разработки, написанная на Java, развиваемая и поддерживаемая Eclipse Foundation (участниками которого являются IBM, SAP, Oracle, компании, предлагающие продукты на основе Eclipse RCP и участвующие в развитии экосистемы Google, RedHat, Adobe, Cisco, Intel). Eclipse RCP – это набор плагинов для создания, так называемых, rich client application. Все что видит пользователь, открывая Eclipse IDE, является плагином, созданным на основе этой платформы. Пользователь может создавать свои плагины на основе огромного количества уже существующих, также при необходимости можно найти большинство популярных фреймворков, таких как Hibernate, Google Guice, Google Guava, JUnit, TestNG в виде плагинов. Также стоит отметить, что архитектура времени выполнения основана на спецификации сервисной платформы OSGI , данная спецификация описывает способы создания и работы модульных приложений. Eclipse, как уже упоминалось выше, написана на Java и позиционируется как кроссплатформенный продукт (в 90% случаев RCP приложение соберётся на Windows, Linux и Mac). Все плагины, составляющие ядро платформы, и большинство сторонних плагинов распространяются под лицензией EPL (Eclipse Public License). Пользовательский интерфейс RCP приложений основан на визуальных компонентах фреймворков SWT и JFace, а также на собственных Eclipse виджетах. Рисунки, приведённые ниже, показывают из каких компонентов состоит приложение, основанное на платформе RCP, и структуру самой платформы Eclipse.


Рисунок 1 - Компоненты используемые в RCP приложении (рисунок взят с этого сайта)


Рисунок 2 – Архитектура Eclipse (рисунок взят с этого сайта)

Плюсы и минусы платформы
Главный вопрос - чем же так хороша данная платформа и зачем ее использовать для разработки десктопных приложений (к слову, возможно разрабатывать веб приложения и приложения для мобильных платформ). Модульность, кроссплатформенность, поддержка мультиязычности, бесплатность, огромное количество существующих плагинов, библиотек и фреймвороков. Все это позволяет создавать приложения коммерческого уровня (ссылка на список существующих приложений разработанных на данной платформе приведена в конце статьи). К минусам можно отнести достаточно высокий уровень вхождения, так как для разработки серьёзного приложения необходимо знать хотя бы в общих чертах, как работает OSGI фреймворк, уметь работать с компонентами и виджетами SWT и JFace. Также для русскоговорящих разработчиков проблемой будет найти какие-либо материалы или книги об упомянутых выше фреймворках и библиотеках (ссылки на найденные ресурсы, в том числе и на русскоязычные, приведены в конце статьи), хотя в Европе и США периодически проводятся конференции, которые организуют участники Eclipse Foundation, в Германии издается специальный журнал, рассказывающий о новых плагинах и содержащий уйму примеров их применения, а также существует целая серия книг на немецком, которая описывает все ньюансы и тонкости разработки. На английском можно найти специальную серию книг eclipse series издательства Addison-Wesley, также можно найти пару книг от издательства Apress. Но на нашем родном языке материалов и книг ничтожно мало.

Приступаем к работе

Установка необходимых плагинов
Давайте перейдём непосредственно к созданию нашего первого RCP приложения. Для работы нам необходимо скачать сборку: Eclipse for RCP and RAP Developers c официального сайта. Если же Eclipse IDE уже установлена, то можно воспользоваться менеджером обновлений. Выберем в главном меню пункт Help->Install New Software. В появившемся окне Install сверху выберем из выпадающего списка нужный нам сайт с обновлениями - download.eclipse.org/releases/indigo , если такого сайта в списке нет, то нажмём справа кнопку Add, в поле Name напишем – Indigo Update Site, в поле Location – адрес, приведённый выше, нажмём OK (если при добавлении адреса появляется сообщение – Duplicate location, значит адрес уже существует в списке Available Software Sites, список сайтов обновлений можно посмотреть в предыдущем окне Install если щёлкнуть по ссылке Available Software Sites, которая находится под выпадающем списком). После выбора сайта обновлений, внизу появится древовидный список (если отмечен чекбокс Group items by category), откроем пункт General Purpose Tools и выберем Eclipse Plug-in Development Environment , затем откроем пункт EclipseRT Target Platform Components и отметим плагин – Eclipse RCP Plug-in Developer Resources , именно эти два плагина нам необходимы для создания нашего проекта. Далее нажмём два раза Next, примем лицензионное соглашение и щёлкнем по кнопке Finish; все, начнется установка необходимых плагинов. После установки нам будет предложено перезагрузить Eclipse, что мы и сделаем.


Рисунок 3 – Окно установки плагинов

Создание проекта
После перезагрузки выберем в главном меню пункт File->New->Other, выберем пункт Plug-in Development, далее, в ниспадающем меню отметим Plug-in Project.


Рисунок 4 – Меню выбора типа создаваемого проекта

Нажмём Next, нам необходимо дать имя нашему проекту, пусть он будет называться first.rcp.application, опять нажмём Next. В следующем окне нам необходимо указать имя приложения, в поле Name напишем First RCP Application. Снимем флажок с пункта Generate an activator, a Java class that controls the plug-in’s life cycle; для нашего простого приложения класс активатор не нужен. Оставим флажок на пункте - This plug-in will make contributions to the UI, так как наше приложение будет содержать пользовательский интерфейс. Оставим третий пункт Enable API Analysis неотмеченным. На вопрос - Would you like to create a rich client application? ответим Yes.


Рисунок 5 – Окно создания плагина

Нажмём Next, нам будет предложено выбрать шаблон для будущего приложения, выберем - Hello RCP и нажмём Next.


Рисунок 6 - Окно выбора шаблона RCP проекта

В последнем окне, в поле Application window title напишем - User Form, в поле Application class – MyApplication . Флажок Add branding оставим неактивным. Нажмём кнопку Finish. Нам будет предложено переключиться на перспективу Plug-in Development perspective, согласимся с этим предложением.


Рисунок 7 - Окно конфигурации шаблона RCP проекта

Структура проекта
Итак перед нами структура только что созданного проекта.


Рисунок 8 – Структура проекта

Содержание пяти классов в пакете first.rcp.application в данный момент нас не итересует, скажу только, что класс MyApplication это в некотором роде метод main() обычной Java программы, данный класс отвечает за то как будет запущен наш плагин и как он будет остановлен. В классе ApplicationWorkbenchWindowAdvisor , мы можем установить размер окна приложения при помощи следующей строки кода:
configurer.setInitialSize(new Point(400, 300));
Также мы можем увидеть, что по умолчанию не будет показываться панель инструментов и строка состояния:
configurer.setShowCoolBar(false);
configurer.setShowStatusLine(false);
Последней строкой устанавливается заголовок главного окна:
configurer.setTitle("User Form");
Класс ApplicationActionBarAdvisor отвечает за настройку строки меню нашего приложения. Класс Perspective отвечает за расположение и размер редакторов (editors) и видов (views), которые находятся в данной перспективе (perspective), в RCP приложении должна быть хотя бы одна перспектива.

Запуск проекта
Для того, чтобы запустить только что созданное нами приложение, нам необходимо перейти в папку META-INF и открыть файл MANIFEST.MF , если вы вдруг его закрыли (этот файл открывается по-умолчанию при создании проекта).


Рисунок 9 – Редактор свойств RCP приложения

Данный файл позволяет нам менять многие настройки проекта, подключать дополнительные плагины, подключать и управлять расширениями, настраивать сборку нашего плагина и многое другое. Мы находимся на вкладке Overview, в разделе Testing нажмём на ссылку - Launch an Eclipse application, через мгновение на экране появится окно нашего приложения, закроем его и перейдём к следующему этапу.


Рисунок 10 – Окно нашего приложения

Добавление вида (view)

Добавление расширения
Нашей задачей является создание вида (view), на который мы сможем поместить элементы графического интерфейса. Перейдём опять к файлу MANIFEST.MF , выберем внизу вкладку – Extensions. Мы видим, что по умолчанию у нас есть два расширения: org.eclipse.core.runtime.applications и org.eclipse.ui.perspectives. Первое расширение связано с классом нашего приложения MyApplication , если мы выберем данное расширение и развернём древовидный список до узла first.rcp.application.MyApplication (run), мы увидим, что поле class содержит название именно этого класса. Вернувшись к корневому узлу данного списка, справа в разделе Extension Details мы увидим два поля, значения которых мы тоже можем поменять (не будем сейчас этого делать): ID – идентификатор приложения и Name – название приложения.

Второе расширение отвечает за настройку перспективы нашего приложения. Файл MANIFEST.MF позволяет нам не заглядывая в код класса Perspective, указать, какие виды и/или редакторы будет содержать данная перспектива, их положение, размер и соотношение. Щёлкнув на этом расширении и перейдя к дочернему пункту мы увидим, что в разделе Extension Element Details мы можем указать класс перспективы, идентификатор и имя. Необходимо отметить, что подобные изменения, как говорилось выше, можно произвести путём редактирования непосредственно кода класса, который связан с данным расширением и редактированием файла plugin.xml , но не хотелось бы усложнять создание нашего первого проекта.


Рисунок 11 – Вкладка с расширениями нашего проекта

Нам необходимо добавить новое расширение для создания вида. Для этого нажмём на кнопку Add и в появившемся окне, в поле Extension Point filter введём views, должно остаться только одно расширение – org.eclipse.ui.views, выберем его и нажмём кнопку Finish.


Рисунок 12 – Окно выбора нового расширения

В списке расширений у нас должно появиться ещё одно, третье по счёту расширение.

Настройка вида
Щёлкнем по добавленному нами расширению правой кнопкой мыши, появится контекстное меню, выберем в нем New->view, тем самым мы добавим элемент к нашему расширению (этим элементом и является необходимый нам вид). В правой части появятся настройки данного элемента. Для начала создадим класс для нашего вида. Сделать этом мы можем нажав на ссылку class*.


Рисунок 13 – Настройки вида (view)

Откроется стандартный диалог создания Java класса, дадим ему название – MainView; как мы можем заметить, данный класс наследуется от класса org.eclipse.ui.part.ViewPart , родительского класса для всех видов. Завершим создание класса нажав на кнопку Finish. Осталось совсем немного, после создания класса для нашего вида перед нами откроется его код, создадим статическую переменную, которая будет содержать идентификатор данного вида, в качестве идентификатора мы зададим каноническое имя данного класса. Напишем следующее:

public class MainView extends ViewPart {
public static final String ID = MainView.class.getCanonicalName();

}
Ввернёмся к файлу MANIFEST.MF , откроем вкладку Extension, скопируем содержимое поля class* и вставим его в поле ID. Теперь имя класса и идентификатор этого вида совпадают, данный приём является хорошей практикой, так как всегда позволяет быстро найти нужный вид и узнать его идентификатор. В поле name* напишем – User Form. Все вид создан, осталось связать его с нашей перспективой, так как вид сам по себе не может быть использован, иными словами он должен принадлежать какой-либо перспективе.

Настройка расположения вида
Дальнейшие манипуляции мы можем произвести оставаясь в редакторе расширений или же открыть код класса перспективы - Perspective.java , что мы и сделаем. В классе Perspective , перейдём в метод – createInitialLayout(), данный метод задаёт начальное положение видов и редакторов. В методе напишем следующие две строки кода:
layout.setEditorAreaVisible(false);
layout.addStandaloneView(MainView.ID, true, IPageLayout.LEFT, 1.0f, layout.getEditorArea());
Первая строка указывает объекту layout, что нам не нужна область для редактирования, так как у нас только один вид и нету редакторов. Вторая строка добавляет наш вид, причём как автономный (standalone). Первым параметром является идентификатор нашего вида. Второй параметр это булево значение, отвечающее за то, будет или нет показан заголовок нашего вида (User Form). Третий параметр предназначен для указания ориентации вида в перспективе, так как вид у нас один и займёт все пространство перспективы, то данное значение может быть любым. Четвёртый параметр определяет положение этого вида по отношению к другим видам или редакторам, так как, в нашем случае, вид один он должен занимать все пространство перспективы. Последний пятый параметр, идентификатор области редактирования (editor area). Сохраним наши изменения.
Запуск приложения с добавленным видом
Вернёмся к файлу MANIFEST.MF и снова запустим наше приложение, для этого перейдём на вкладку Overview, в разделе Testing, щёлкнем по ссылке Launch an Eclipse application. Большого различия с тем как выглядела форма при предыдущем запуске мы не увидим, добавилась только вкладка с нашим видом – User Form.


Рисунок 14 – Окно нашего приложения с добавленным видом

На сегодня все, продолжение будет в следующей статье.