Начало работы с платформой Eclipse (документация). Рабочая среда 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. Среда разработки радует пользователей уже много лет и не прекращает это делать!

Что вам дает вклад 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 - объектно-ориентированный язык, удобный и надёжный в эксплуатации благодаря таким своим достоинствам, как многозадачность, поддержка протоколов Internet и многоплатформенность. Java - это интерпретируемый язык, и каждая Java-программа компилируется для гипотетической машины, называемой Виртуальная Машина Java. Результатом такой компиляции является байт-код Java, который в свою очередь может выполняться на любой операционной системе при условии наличия там системы времени выполнения Java, которая интерпретирует байт-код в реальный машинный код конкретной системы.

Задачами курсовой работы является изучение объектно-ориентированного языка программирования Java и создание программного кода на языке Java .

Описание среды разработки

Интегрированная среда разработки Eclipse

Описание среды разработки Eclipse

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

3. IntelliJ IDEA.

Для разработки курсовой работы была выбрана интегрированная среда разработки Eclipse.

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

Основные инструментальные средства Eclipse Java включают в себя: редактор исходного кода (создание и редактирование исходного текста программ), средства отладки и интеграции с Ant.

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

В простейшем случае рабочее пространство (workspace) - это каталог для проектов пользователя, в котором располагаются файлы проекта. Все, что находится внутри этого каталога, считается частью рабочего пространства.

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

К инструментам (workbench) относится набор соответствующих редакторов и представлений , размещенных в рабочей области Eclipse (рисунок 6). Для конкретной задачи определенный набор редакторов и представлений называют перспективой или компоновкой .

Компоновка (perspective) - это набор представлений и редакторов, расположенных в том порядке, который вам требуется. В каждой компоновке присутствует свой набор инструментов, некоторые компоновки могут иметь общие наборы инструментов. В определенный момент времени активной может быть только одна компоновка. Переключение между различными компоновками осуществляется нажатием клавиш "Ctrl+F8".

Используя компоновки, вы можете настроить свое рабочее пространство под определенный тип выполняемой задачи. В пособии будут использоваться компоновки, связанные в основном с программированием на Java, такие, как: Debug, Java Browsing, Java.

В Eclipse имеется также возможность создавать свои компоновки.

Открыть компоновку можно командой Window / Open Perspective.

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

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

Представления по существу являются дополнениями к редакторам, где выводится информация сопроводительного или дополнительного характера, как правило, о файле, находящемся в редакторе. Открыть представления можно командой Window / Show View.

Проект (project) представляет собой набор файлов приложения и сопутствующих дополнений. При работе с Java используются в основном файлы, имеющие следующие расширения:. java,. jsp,. xml.

Дополнением (plug-in) называют приложение, которое дополнительно может быть установлено в Eclipse. Примером дополнения может выступать JDT.

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

Системные требования

Eclipse разработана для широкого круга операционных систем, таких как Linux, Microsoft Windows и Mac OS. Для ее запуска требуется JVM (Java Virtual Machine) - виртуальная Java-машина, а также JDK (Java Development Kit) - набор для Java-разработки .

Таблица 1 - Системные требования к среде разработки Eclipse

Установка среды разработки Eclipse

На первом этапе происходит установка нужной версии библиотек поддержки Java. Ее можно найти на eclipse.org.

После установки Java VM, переходим к установке Eclipse. Переходим на страницу для скачивания файлов Eclipse (http://www.eclipse.org/downloads/), затем выбираем последнюю готовую (release) версию для нашей платформы.

Поскольку Eclipse построен на Java, программное обеспечение требует для выполнения Java Development Kit (JDK) - бесплатно распространяемый компанией Oracle Corporation (ранее Sun Microsystems) комплект разработчика приложений на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE). В состав JDK не входит интегрированная среда разработки на Java, поэтому разработчик, использующий только JDK, вынужден использовать внешний текстовый редактор и компилировать свои программы, используя утилиты командной строки.

Рисунок 1 - Окно установки JDK

При первом запуске загрузчика Eclipse перед появлением самой среды выполняется ряд завершающих установочных шагов (например, создание директории workspace для хранения файлов проектов) .


Рисунок 1.2 - Окно запуска Eclipse

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

Изначально проект разрабатывался в IBM как корпоративный стандарт IDE для разработки на разных языках под платформы IBM. Потом проект был переименован в и предоставлен для дальнейшего развития сообществу.

В первую очередь полноценная Java IDE , нацеленная на групповую разработку, снабжённая средствами для работы с системами контроля версий (поддержка CVS входит в поставку Eclipse, активно развиваются несколько вариантов SVN модулей, существует поддержка VSS и других). В силу бесплатности во многих организациях Eclipse - корпоративный стандарт для разработки приложений .

Второе назначение - служить платформой для разработки новых расширений (чем и завоевал популярность - любой разработчик может расширить Eclipse своими модулями). Таковыми стали C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, COBOL, FORTRAN, PHP средства от различных разработчиков. Множество расширений дополняет Eclipse менеджерами для работы с базами данных, серверами приложений и др.

С версии 3.0 Eclipse стал не монолитной IDE, поддерживающей расширения, а набором расширений. В основе лежат фреймворк OSGi и SWT/JFace, на основе которых разработан следующий слой - платформа для разработки полноценных клиентских приложений RCP (Rich Client Platform - (англ. rich-client applications). Платформа RCP служит основой для RCP-приложений, таких как Azareus и File Arranger. Следующий слой - платформа Eclipse, представляющая собой набор расширений RCP - редакторы, панели, перспективы, модуль CVS и модуль Java Development Tools (JDT).

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

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


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

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

    Локализация

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

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

    • C/С++ - CDT Eclipse’s C/C++ Development Tooling(англ.)
    • Perl - модуль EPIC, Eclipse Perl Integration(англ.)
    • PHP - PDT PHP Development Tools(англ.)
    • JavaScript - JSEclipse Javascript plugin for the Eclipse environment(англ.)
    • Python - Pydev, Python Development Environment(англ.)
    • Ruby - RDT, Ruby Development Tools(англ.)

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

    Для разработки и получения отчетов и разработки аналитических BI-приложений в существует en:BIRT_Projec t.

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

    Aptana (aptana.com) - дистрибутив Eclipse и plugin, поддерживающий разработку с использованием JavaScript (все основные JS Ajax библиотеки включены в состав дистрибутива), HTML, CSS, Ruby on rails, Adobe AIR.

    Оставьте свой комментарий!

    В данной статье я хотел рассказать о том, как создавать приложения при помощи 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 – Окно нашего приложения с добавленным видом

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