Домой Плодовые деревья Виртуальный ассистент. Виртуальный помощник – отличный вариант домашнего бизнеса. «Быть виртуальным помощником» - что это

Виртуальный ассистент. Виртуальный помощник – отличный вариант домашнего бизнеса. «Быть виртуальным помощником» - что это

Eclipse - свободная интегрированная среда разработки модульных кроссплатформенных приложений. Развивается и поддерживается Eclipse Foundation.

Наиболее известные приложения на основе Eclipse Platform - различные «Eclipse IDE» для разработки ПО на множестве языков (например, наиболее популярный «Java IDE», поддерживавшийся изначально, не полагается на какие-либо закрытые расширения, использует стандартный открытый API для доступа к Eclipse Platform).

Первоначально Eclipse разрабатывалась фирмой IBM как преемник среды разработки IBM VisualAge, в качестве корпоративного стандарта IDE для разработки на разных языках под платформы IBM. По сведениям IBM, проектирование и разработка стоили 40 миллионов долларов. Исходный код был полностью открыт и сделан доступным после того, как 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.

Преимущества Eclipse

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). Её составляют следующие компоненты:

OSGi (стандартная среда поставки комплектов (англ. bundles));

SWT (портируемый инструментарий виджетов);

JFace (файловые буферы, работа с текстом, текстовые редакторы);

Рабочая среда Eclipse (панели, редакторы, проекции, мастеры).

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

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

Платформа Java

Программная платформа Java - ряд программных продуктов и спецификаций компании Sun Microsystems, ранее независимой компании, а ныне дочерней компании корпорации Oracle, которые совместно предоставляют систему для разработки прикладного программного обеспечения и встраивания её в любое кросс-платформенное программное обеспечение. Java используется в самых разных компьютерных платформах от встраиваемых устройств и мобильных телефонов в нижнем ценовом сегменте, до корпоративных серверов и суперкомпьютеров в высшем ценовом сегменте. Хотя Java-апплеты редко используются в настольных компьютерах, однако они в них иногда используются для улучшения функциональности и повышения безопасности при просмотре всемирной паутины.

Программный код, написанный на Java, виртуальная машина Java преобразует в байт-код Java. Однако есть компиляторы байт-кода для других языков программирования, таких как Ada, JavaScript, Python, и Ruby. Также есть несколько новых языков программирования, разработанных для работы с виртуальной машиной Java. Это такие языки как Scala, Clojure and Groovy. Синтаксис Java в основном заимствован из Си и C++, но объектно-ориентированные возможности основаны на модели, используемой в Smalltalk и Objective-C. В Java отсутствуют определённые низкоуровневые конструкции, такие как указатели, также Java имеет очень простую модель памяти, где каждый объект расположен в куче и все переменные объектного типа являются ссылками. Управление памятью осуществляется с помощью интегрированной автоматической сборки мусора, которую выполняет JVM.

Среда разработки Eclipse

Первоначально Eclipse разрабатывалась фирмой IBM как преемник среды разработки IBM VisualAge, в качестве корпоративного стандарта IDE для разработки на разных языках под платформы IBM. По сведениям IBM, проектирование и разработка стоили 40 миллионов долларов. Исходный код был полностью открыт и сделан доступным после того, как 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.

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). Её составляют следующие компоненты:

OSGi (стандартная среда поставки комплектов (англ. bundles));

SWT (портируемый инструментарий виджетов);

JFace (файловые буферы, работа с текстом, текстовые редакторы);

Рабочая среда Eclipse (панели, редакторы, проекции, мастеры).

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

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

Что вам дает вклад 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.

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.

Если вы когда-нибудь пристально следили за событиями, происходящими в мире open-source или Java-технологий, то вы просто не могли никогда не слышать всего этого шума, развернутого вокруг Eclipse. Eclipse – это расширяемая, open-source интегрированная среда разработки (IDE, Integrated Development Environment). Этот проект был запущен в ноябре 2001 года, когда IBM выделили исходный код из Websphere Studio Workbench, ценой в 40 миллионов долларов, и сформировали Eclipse Consortium для управления разработкой этого инструмента.

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

  1. The Eclipse Project (http://www.eclipse.org/eclipse/index.html) – ответственен за разработку непосредственно Eclipse IDE (платформу для сборки прочих инструментов Eclipse), Java Development Tools (JDT) и Plug-In Development Environment (PDE), используемую для предоставления возможности расширения самой платформы.
  2. The Eclipse Tools Project (http://www.eclipse.org/tools/index.html) – занимается созданием оптимальных инструментальных средств для платформы Eclipse. В текущие подпроекты входят: Cobol IDE, C/C++ IDE, а также инструмент моделирования EMF.
  3. The Eclipse Technology Project (http://www.eclipse.org/technology/index.html) – занимается технологическими исследованиями, инкубацией и образованием по части использования платформы Eclipse.

Совместно с JDT, платформа Eclipse предоставляют множество различных возможностей, которые вы могли наблюдать в коммерческих IDE: подсветка синтаксиса в редакторе, компиляция кода, отладчик уровня исходного кода с поддержкой "нитей" (threads), навигатор по классам, файловый менеджер и менеджер проектов, интерфейсы для стандартных контролирующих систем исходного кода, таких как, например, CVS и ClearCase.

Помимо этого Eclipse содержит ряд уникальных возможностей, например, рефакторинг кода (http://www.refactoring.com/), автоматическое обновление и сборка кода (посредством Update Manager), список задач, поддержка возможности тестирования модулей с помощью JUnit (http://www.junit.org/), а также интеграция с инструментом сборки приложений Jakarta Ant (http://jakarta.apache.org/ant/index.html).

Несмотря на большое количество стандартного набора возможностей, Eclipse отличается от традиционных IDE по нескольким фундаментальным особенностям. Может быть, самая интересная возможность Eclipse – это абсолютная нейтральность относительно платформы и языка программирования. Вдобавок к эклектичному набору языков программирования, которые поддерживаются Eclipse Consortium (Java, C/C++, Cobol), существует множество сторонних проектов, с помощью которых вы можете обеспечить поддержку интересующего вас языка программирования в Eclipse. На сегодняшний день существуют реализации следующих популярных языков программирования: Python, Eiffel, PHP, Ruby, и C#.

Платформа Eclipse предоставляется, благодаря Eclipse Consortium, в виде заранее скомпилированных исполняемых файлов для Windows, Linux, Solaris, HP-UX, AIX, QNX, и Mac OS X. Очень много внимания концентрируется вокруг архитектурной системы plug-in"ов этой платформы, а также "богатых" API (Application Programming Interface), поставляемых с Plug-in Development Environment для расширения Eclipse. Добавить поддержку нового типа редактора, просмотрщика (панели) или языка программирования до безобразия просто, благодаря хорошо спроектированным API и строительным блокам, которые предоставляет Eclipse.

Имея приблизительно сотню проектов, по разработке plug-in"ов, имея ресурсы, предоставляемые такими промышленными гигантами, как IBM, HP и Rational (которая недавно была куплена IBM), и дизайн Erich Gamma, который помогает быстро разобраться в процессе разработки – будущему Eclipse предстоит быть весьма ярким, интересным и перспективным.

Установка

Бьюсь об заклад, что вы сейчас только и думаете о том, где бы достать копию этого самого Eclipse для вашей платформы и как бы это его установить? :) Первое, о чем вам для начала нужно позаботиться – это убедиться в наличии подходящей, рабочей JRE (Java Runtime Evironment). Хотя Eclipse и создавался в расчете на возможность компиляции кода как для JVM (Java Virtual Machine) версии 1.3, так и для версии 1.4, однако текущие версии Eclipse были спроектированы таким образом, чтобы запускаться на JVM версии 1.3. Если вы не уверены, где можно достать "виртуальную" Java-машину (JVM) для вашей платформы, вы можете найти подробные инструкции и дополнительную информацию об этом на сайте

Как только вы убедились в наличии JVM или установили подходящую ее версию, вы готовы к установке Eclipse. Для этого посетите download-раздел сайта проекта Eclipse (http://www.eclipse.org/downloads/) и скачайте оттуда последний релиз, собранный специально под используемую вами платформу. Все дистрибутивы представляют собой.zip-архивы. Распакуйте скачанный архив в подходящую директорию и потратьте немного времени на изучение всех файлов, содержащихся в директории readme.

Хотите - верьте, хотите – нет, но на этом инсталляция завершена. Если вы правильно установили JVM и корректно распаковали архив с Eclipse – вы можете приступать к процессу первого запуска этой IDE. Все дистрибутивы, содержащие скомпилированную версию платформы, предоставляют программы для запуска, которые располагаются в основной директории: eclipse. Имя этой программы запуска изменяется в зависимости от платформы, под которую вы скачали дистрибутив: eclipse.exe под Windows, eclipse под Solaris, и так далее. При первом запуске приложение Eclipse выполнит некоторые оставшиеся задачи по установке (например, создание workspace-директории для хранения файлов проектов) до того, как приложение окончательно будет готово к работе.

Интерфейс

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

Рисунок 1

Как вы можете заметить, Eclipse IDE имеет вполне стандартное содержание меню:

Рисунок 2

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

Пример приложения

Панели File Navigator , Code Outline и Task List отображены, но на данный момент не содержат никаких данных. Чтобы продолжить знакомство с Eclipse мы создадим простое Swing-приложение программу-калькулятор. Распишем действия по шагам:

1. Выберите пункт меню File->New->Project..., чтобы начать создание вашего первого Java-проекта. В окне "мастера" выберите Java среди предложенных типов проектов из левого списка и Java Project в правом списке, после чего нажмите кнопку Next .


Рисунок 3

2. В качестве имени проекта введите Calculator и продолжите создание проекта, нажав кнопку Next .


Рисунок 4

3. И, наконец, на завершающем этапе "мастер" создания нового проекта дает вам возможность определить директории, где будут храниться файлы исходного кода и class-файлы, определить подпроекты, которые могут быть использованы создаваемым нами, текущим проектом, а также любые библиотеки, которые мы предполагаем использовать в своем приложении. Установите переключатель на значение Use source folder contained in the project , после чего нажмите кнопку Create New Folder... . В качестве имени новой директории для хранения исходного кода введите src. Нажмите Yes , когда Eclipse спросит вас о том, изменить ли директорию с собираемым приложением на Calculator/bin .


Рисунок 5

4. Нажмите кнопку Finish , чтобы дать возможность Eclipse завершить создание нового проекта.

Как только вы создали новый проект, вы можете заметить, что внешний вид Eclipse несколько изменился (этого и следовало ожидать): панель Outline переместила в другую часть окна, панель Navigator была заменена панелью Package Explorer и т.д.

Вот какой вид приняло окно Eclipse после того, как мы создали новый проект:


Рисунок 6

Такая планировка называется Java Perspective . "Ракурс", в понятии Eclipse, определяет какой-либо сохраненный порядок расположения любого количества различных панелей редактора и просмотрщиков. Eclipse поставляется с рядом "ракурсов" определенных по умолчанию (Resource , Java , Debug и другие), которые могут быть изменены в соответствии с вашими нуждами, или же вы можете создавать свои собственные ракурсы. Ракурсы управляются при помощью элементов меню Window или специальной панели инструментов, которая обычно располагается вдоль левой границы окна Eclipse.

Рисунок 7

Следующим шагом в создании нашего Java-проекта нужно создать директории, которые будут содержать весь наш исходный код. Для этого переключитесь в ракурс Resource , используя пункт меню Window->Open Perspective->Resource . В панели Navigator разверните узлы дерева структуры папок таким образом, чтобы вы могли видеть узел-папку src. Выделите этот узел, и после выполните пункт меню File->New->Folder . В появившемся диалоговом окне, убедитесь, что директория src выбрана и затем введите в качестве имени новой, в поле Folder Name , имя com .

Создавать большое количество папок с помощью диалога New Folder было бы не очень удобно и утомительно. К счастью, Eclipse может предоставить вам возможность самим создавать нужные директории с помощью вашего любимого файлового менеджера: командной строки, Windows Explorer и прочих. Используя один из предложенных методов, создайте в папке com папку devious , а в ней папку calculator . Как только вы создали эти папки, выберите любую папку-узел в панели Navigator и, с помощью элемента меню File->Refresh , обновите содержимое этой панели. Таким образом, Eclipse произведет просмотр файловой системы и обновит панель проекта в соответствии с теми изменениями, что вы внесли (создали новые директории). На этом этапе ваше окно Eclipse должно иметь примерно следующий вид:


Рисунок 8

И еще одно замечание по поводу создания файлов: на ранних этапах создания проекта, вы, скорее всего, достаточно часто будете запускать свое приложений, создавать новые файлы и папки, добавлять новый код, компилировать, и тестировать свой код снова. Важно помнить, что расположение меню в Eclipse зависит от используемого ракурса. Так, если вы переключаетесь в ракурс Resource , чтобы создать новый файл или папку в панели Navigator , вы обнаружите, что меню Run , например, в корне отличается от меню Run в ракурсе Java . Одно из решений этой часто встречающейся проблемы – это использование меню Windows->Show View с тем, чтобы отобразить панель Navigator в ракурсе Java . Если вас полностью устроит полученный ракурс то, воспользовавшись элементом меню Window->Save Perspective As... , вы сможете сохранить ваши изменения в новом ракурсе, либо переписать существующий ракурс Java .

Добавление кода

Теперь, когда у нас есть созданная структура директорий, мы можем начинать добавление исходного кода в наш проект. Мы разделим нашу программу-калькулятор на три класса (файла): CalcModel.java , CalcPanel.jav a, и Calculator.java . Скачайте.zip-архив с исходным кодом этой программы отсюда http://www.onjava.com/onjava/2002/12/11/examples/calculator.zip . После этого распакуйте этот архив и поместите три упомянутых выше файла в директорию com/devious/calculator . Снова воспользуемся пунктом меню File->Refresh , чтобы обновить содержимое панели Project Manager. Вот, что вы должны увидеть после выполнения этих действий:


Рисунок 9

CalcPanel.java представляет основу интерфейса пользователя нашего калькулятора. Calculator.java выполняет подготовительные инициализационные функции и запускает GUI (графический интерфейс пользователя). Самая же важная часть нашей программы находится в файле CalcModel.java , который занимается непосредственно реализацией фактической математики нашего калькулятора: реагирование на события, выполнение математических вычислений, обновление отображаемой информации, и т.д. Самый простой способ просмотреть исходный код – это переключиться из ракурса Java в Java Browsing . Для этого используйте Open Perspetive из меню Window или кликните на кнопке Open , которая находится на панели инструментов для работы с ракурсами.

В то время как вы перемещаетесь по исходному коду на панели Package Explorer , вы можете заметить, что панель Outline становится ненужной вам на данном этапе. Ее можно на время убрать с экрана, кликнув по крестику в правом углу этой панели. Когда она вам понадобится, вы можете воспользоваться пунктом меню Window->Show View->Outline , чтобы отобразить ее вновь.


Рисунок 10

Запуск и отладка кода

Итак, вы скачали и установили Eclipse, создали новый Java-проект и добавили необходимые файлы и папки для своего простого приложения. Настало время проверить это приложение в деле, запустив его. Для этого вам нужно установить ракурс Java , чтобы выполнить шаги, которые необходимы для запуска приложения:

1. Из основного меню Run выберите элемент Run...

2. В появившемся диалоге "мастера" запуска, выберите "Java Application" из списка Launch Configurations и нажмите кнопку New


Рисунок 11

3. В качестве имени новой конфигурации введите Calculator

4. Нажмите кнопку Search... и выберите основным классом класс Calculator в поле Main class , или просто введите в поле ввода полное имя класса: com.devious.calculator.Calculator .


Рисунок 12


Рисунок 13

Создав однажды конфигурацию запуска своего приложения, вы можете запускать его вновь с помощью меню Run->Run History или кнопки Run на панели инструментов. Если вы потратите достаточно времени, "играя" с этим калькулятором, вы обнаружите, что он работает в основном правильно, но только с одном "но": он не хочет правильно выполнять операцию вычитания! Время пустить в ход отладчик исходного кода Eclipse и обнаружить эту злосчастную ошибку. Если вы следовали всем инструкциям, приведенным выше в этой статье, то вы можете запустить это приложение с отладчиком с той же конфигурацией, которую мы определили для обычного запуска. Для этого выберите в меню пункт Run->Debug History->Calculator .

Когда вы запускаете свое приложение вместе с отладчиком, Eclipse автоматически переключается в ракурс Debug :


Рисунок 14

Поскольку, обнаруженная нами, проблема сконцентрирована вокруг функции вычитания, мы установим точку прерывания (breakpoint) в обработчик события для кнопок "-" и "=". Для начала, нам нужно переключиться в закладку редактора класса CalcPanel . (Если у вас нет закладки с исходным кодом этого класса, вам нужно открыть файл с именем CalcPanel.java , предварительно переключившись в ракурс Java или Resource и потом вернуться обратно в ракурс Debug ).

Воспользуйтесь панелью Outline , чтобы определить местонахождение метода actionPerformed . Переместитесь немного ниже, пока не обнаружите выражение case для знака "-" (строка 126). Если вы выполните двойной клик на левой границе этой строки, Eclipse автоматически установит точку прерывания в ней. Переместитесь немного ниже и установите еще одну точку прерывания на вызове метода model.calculate() в обработчике события кнопки "=" (строка 138).


Рисунок 15

Теперь переключитесь в окно калькулятора и нажмите несколько кнопок. Например, "2", "4", "6" и "-". Как только отладчик натыкается на точку прерывания, вы можете видеть появившиеся кнопки на панели инструментов Debug , которые служат для пошагового прохождения по исходному коду, причем можно делать шаги по коду и, не заходя внутрь методов, выполнять их автоматически, или же, заходя внутрь, проходиться и по их исходному коду.

Рисунок 16

Если мы зайдем внутрь метода setOperation() , станет понятно, что он выполняют достаточно тривиальную функцию: сохраняет код операции в поле pendingOp . Теперь нажмите кнопку Resume на панели инструментов Debug , чтобы продолжить выполнение программы.

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

Теперь нажмите еще пару кнопок (например, "1", "2", "3") и после этого кнопку "=". Таким образом, мы оказываемся внутри метода calculate() , проблема оказалась очевидна: кто-то скопировал код из варианта OP_ADD, но забыл заменить знак + на -. Проблема решена! :)

Исправление ошибки методом HotSwap

Если для запуска приложения вы использовали JVM версии 1.4, то нам остался всего один завершающий шаг на пути к исправлению этой ошибки в нашем примере. Вместо того, чтобы выходить из программы-калькулятора, вносить изменения в исходный код, компилировать заново весь проект, и только потом запускать новую сессию отладчика, мы можем изменить все "налету". В то время как отладчик все еще запущен, измените в исходном коде строку с:

SetDisplay(previousValue + currentValue); // на: setDisplay(previousValue - currentValue);

Сохраните этот файл, после чего нажмите кнопку Resume , чтобы "отпустить" приложение и продолжить работу с ним. Используя кнопку C , чтобы сбросить его, и повторите действия, которые мы проделали ранее. Теперь все работает, как положено!

То, что мы сейчас продемонстрировали – это поддержка Eclipse"ом новой возможности (которая носит название HotSwap) JVM версии 1.4. Теперь Java Platform Debugger Architecture (JPDA) поддерживает возможность замены исходного кода у выполняющегося приложения. Это особенно полезно, когда запуск приложения или нахождение места, где оно "рушится", отнимает много времени.

Интересные возможности в ближайших версиях Eclipse

Одна весьма интересная особенность Eclipse – это скорость, с которой отлавливаются ошибки, и с которой разработчики реагируют на различные нужды и пожелания пользователей. Eclipse Consortium ежемесячно выпускают последние релизы, которые включают в себя стабильные версии различных возможностей, которыми интересуются пользователи (такие релизы содержит в названии идентификаторы M1, M2, M3 и т.д.) Среди возможностей, включенных в релиз 2.1 M3 можно выделить следующие, наиболее значимые:

  • - настраиваемые связи "горячих" комбинаций клавиш, включая набор связей, схожий с тем, что есть в Emacs;
  • - возможность автоматической вставки TODO , FIXME и других тэговых комментариев в Java-код, в различные элементы и списки задач;
  • - улучшенная поддержка CVS, включая возможность определять "working sets", которые ограничивают количество отображаемых проектов на панели CVS Repositories ;
  • - новые заготовки в Java-редакторе, которые могут использоваться для показа исходного кода, Javadoc, детальных сообщений об ошибках для каждой строки кода или выражения в "выпадающем" (tooltip) окне;
  • - поддержка нескольких новых рефакторингов;
  • - новая панель Threads and Monitors в отладчике, которые позволяют определить какие из "нитей" (потоков) блокируют ресурсы, какие из них находятся в ожидании, и прочую полезную информацию для отладки мультипотоковых приложений;
  • - более тесная интеграция с инструментом сборки Jakarta Ant;

Эта последняя особенность и делает Eclipse хорошо скомпонованной средой разработки Java-приложений и, в частности, разработки Web-приложений. Eclipse объединяет в себе все инструменты, которые необходимы разработчику чтобы успешно разрабатывать Web-приложения: расширяемую IDE, стандартный компилятор, возможность удаленной отладки, поддержка Ant, тестирование с помощью JUnit, plug-in"ы для взаимодействия, практически, со всеми серверами приложений, а также EJB-контейнер.

Ресурсы

  • eclipse.org (http://www.eclipse.org/)
  • Eclipse Project FAQ (http://www.eclipse.org/eclipse/faq/eclipse-faq.html)
  • Eclipse Platform Technical Overview (

Новое на сайте

>

Самое популярное