Розробка простого Eclipse RCP програми. Початок роботи із платформою Eclipse (документація)

Використання плагінів Eclipse для редагування, компіляції, налагодження, а також як основа для ваших додатків

У цьому додатку до статті Девіда Галлардо (EN) пропонується нова інформація щодо Eclipse V3.3.

Що таке Eclipse?

Eclipse є заснованою на Java розширюваною платформою розробки з відкритим вихідним кодом. По суті - це просто середовище розробки та набір сервісів для побудови додатків на основі компонентів, що вбудовуються (плагінів). На щастя, у складі Eclipse є стандартний набір плагінів, у тому числі відомий інструментарій - Java Development Tools (JDT).

У той час як більшість користувачів, які застосовують Eclipse як інтегроване середовище розробки Java (IDE), цілком їм задоволені, можливості його набагато ширші. Eclipse також включає середовище розробки плагінів (PDE), яке в першу чергу зацікавить тих, хто хоче розширити сам Eclipse, оскільки дозволяє створювати свої інструменти, що вбудовуються в середовище Eclipse. Оскільки Eclipse повністю складається з плагінів, всі розробники інструментаріїв мають можливість запропонувати свої розширення до Eclipse і надати користувачам послідовне і цілісне інтегроване середовище розробки (IDE).

Ця цілісність і послідовність характерні як інструментів Java-разработки. Хоча Eclipse написаний Java, використовувати його можна й з іншими мовами. Наприклад, вже є (або розробляються) плагіни, що підтримують такі мови програмування як C/C++ та COBOL. Структура Eclipse може також використовуватися як основа для інших типів програм, які не мають відношення до розробки програмного забезпечення, наприклад, систем керування контентом.

Чудовим прикладом програми на основі Eclipse є програмне забезпечення IBM® Rational® Software Architect (див. ), яке лягло в основу сімейства інструментів IBM для розробки на Java.

Eclipse – це відкритий вихідний код

ПЗ з відкритим вихідним кодом випускається під ліцензією, яка має на меті гарантувати користувачам певні права. Найочевидніше з них, звичайно, те, що вихідний код обов'язково має бути наданий користувачам, і вони мають повне право модифікувати та самостійно розповсюджувати ПЗ. Такий захист прав користувача досягається за допомогою механізму під назвою "copyleft": Ліцензія програмного забезпечення стоїть на захисті авторських прав (copyright) і забороняє поширення ПЗ, якщо користувачеві не надано такі права. Сopyleft-ліцензія також вимагає, щоб все, що розповсюджується користувачами, покривалося вихідною ліцензією без змін. Тим самим, зміст авторського права, по суті, перевертається з ніг на голову, а про copyleft-ліцензію, що використовує авторське право для наділення користувача правами, а не для збереження їх за розробником ПЗ, часто жартома кажуть "всі права збочені" (all rights reversed).

Більшість поширених побоювань, невпевненості та сумнівів щодо ПЗ з відкритим вихідним кодом заснована на так званій вірусній природі деяких copyleft-ліцензій. Ідея полягає в тому, що якщо ви використовуєте ПЗ з відкритим вихідним кодом як частину власної програми, що розробляється, ви втратите свою інтелектуальну власність, оскільки ліцензія "заразить" собою ваші особисті частини програми. Іншими словами, ліцензія може вимагати, щоб все програмне забезпечення, що має у своєму складі ПЗ з відкритим вихідним кодом, включаючи будь-яке новостворене ПЗ, поширювалося з тією ж ліцензією. Хоча це і вірно для найвідомішої copyleft-ліцензії - GNU General Public License (під якою, наприклад, поширюється Linux®), існують інші ліцензії, що забезпечують інше співвідношення комерційних і громадських інтересів.

Open Software Initiative - OSI (Ініціатива відкритого ПЗ) - це некомерційна організація, що дає чітке визначення тому, що є відкритим вихідним кодом, і здійснює сертифікацію ліцензій, що задовольняють її критеріям. Eclipse поширюється в рамках ліцензії EPL - Eclipse Public License (Відкрита ліцензія Eclipse) V1.0, схваленої OSI та націленої на те, щоб полегшити комерційне визнання Eclipse, зберігаючи при цьому лояльність до авторів вихідного коду.

Ті, хто створює плагіни до Eclipse або використовує Eclipse як базу для розробки програмного забезпечення, зобов'язані публікувати будь-який код Eclipse, який вони використовують або модифікують у рамках ліцензії EPL, але мають право ліцензувати свої власні доповнення, як їм подобається. Власний код, об'єднаний у комплект з програмним забезпеченням з Eclipse, не вимагає ліцензування як відкритий вихідний код, а сам вихідний код не потрібно робити загальнодоступним.

Незважаючи на те, що більшість програмістів не будуть використовувати Eclipse для розробки плагінів або створення на його базі нових продуктів, значимість заснованої на відкритому вихідному коді природи Eclipse велика не тільки тому, що завдяки ній Eclipse доступний абсолютно безкоштовно (і всупереч тому, що комерційно орієнтована ліцензія передбачає, що плагіни можуть коштувати гроші). Відкритий вихідний код сприяє інноваціям та створює стимул для розробників (навіть комерційних) вносити свій вихідний код як внесок у загальну скарбничку. Для цього є кілька причин, але чи не найістотніша полягає в тому, що чим більше розробників робить свій внесок у проект, тим більш значущим він стає для всіх. А коли проект стає корисним, все більше розробників будуть використовувати його і створять навколо нього спільноту, подібну до тих, що сформувалися навколо Apache і Linux. (Для отримання додаткової інформації про ліцензії зверніться до розділу .)

Що таке Eclipse?

Eclipse - це спільнота розробників відкритого вихідного коду, чиї проекти націлені на побудову відкритої платформи для розробки, що складається з розширюваного середовища розробки, інструментарію та бібліотек часу виконання для побудови, розгортання та управління програмним забезпеченням у період його життєвого циклу. Фонд Eclipse (Eclipse Foundation) - це некомерційне підтримуване учасниками об'єднання, яке містить проекти Eclipse та допомагає удосконалювати співтовариство розробників відкритого вихідного коду та "екосистему" продуктів та сервісів, що доповнюють один одного.

Проект Eclipse був створений у листопаді 2001 року компанією IBM та підтриманий консорціумом постачальників програмного забезпечення. Фонд Eclipse був створений у січні 2004 року як незалежна некомерційна організація, яка є розпорядником спільноти Eclipse. Він створювався, щоб допомогти незалежному від постачальників, відкритій та прозорій спільноті вирости навколо Eclipse. Сьогоднішнє співтовариство Eclipse складається з приватних осіб та організацій, які представляють індустрію програмного забезпечення.

Фонд Eclipse контролює та спрямовує поточні розробки Eclipse. Фонд обслуговує спільноту, але розробники відкритого вихідного коду комітерамиі, по суті, що працюють над проектами Eclipse, не перебувають у його штаті. Зазвичай коммітери Eclipse перебувають у будь-яких організаціях чи є незалежними розробниками, добровільно віддають свій час роботі у проекті відкритого вихідного коду.

Тепер, поглянувши на теоретичні, історичні та політичні аспекти Eclipse, розглянемо сам продукт.

Робочий простір Eclipse

Під час першого запуску Eclipse ви побачите сторінку привітання всередині робочого простору (див. малюнок 1). Користувач Eclipse має кілька можливостей перейти на сторінку огляду (overview page), що я і рекомендую зробити (див. малюнок 2). Далі можна ознайомитися з інформацією щодо нових функцій, вивчити деякі приклади або пройти навчальний курс.

Рисунок 1. Сторінка привітання Eclipse
Рисунок 2. Сторінка огляду Eclipse

Робочий простір Eclipse складається з кількох панелей, які називаються уявленняминаприклад навігаційне або схематичне уявлення (navigator or outline views). Набір таких уявлень називається перспективою. Одна з найпоширеніших перспектив - перспектива Ресурси (Resource), яка є базовим набором уявлень для управління проектами та перегляду, а також редагування файлів проекту.

Я рекомендую більшості початківців починати зі сторінки огляду, показаної на малюнку 2, і дізнатися більше про Eclipse. Розділ "основи робочого простору" (workbench basics) містить багато корисної початкової інформації про різні компоненти Eclipse та про те, як вони взаємодіють один з одним. Приділіть кілька хвилин читання цього матеріалу, а потім зануримося в інструменти розробки Java Development Tools (JDT) Eclipse. Найкращий спосіб чогось навчитися - спробувати це практично.

Продовжуючи цей короткий огляд Eclipse, ми створимо новий проект Java. Виберіть File > New > Java Project (Файл > Новий > Проект Java)та введіть Hello у відповідь на запит імені проекту, а потім натисніть Finish.

Тепер подивимося на перспективу Java (якщо ви ще в ній не знаходитесь). Залежно від того, як вам більше подобається керувати своїм екраном, можна змінити перспективу в поточному вікні, вибравши Window > Open Perspective > Java (Вікно > Відкрити Перспективу > Java)або відкрити нове вікно, вибравши Window > New Window (Вікно > Нове Вікно)і вибрати нову перспективу.

Як і слід очікувати, перспектива Java має набір уявлень, призначених ведення розробки на Java. Одне з них, розташоване в лівому верхньому кутку, є ієрархією, що містить різні пакети Java, класи, JAR-архіви і різноманітні файли. Це уявлення називається Оглядач Пакетів (Package Explorer). Зверніть увагу, що в головному меню додано два нові пункти: Source та Refactor.

Java Development Tools (JDT)

Щоб випробувати середовище розробки Java, ми створимо та виконаємо програму під назвою "Hello World". Перебуваючи у перспективі Java, натиснемо правою кнопкою на папці з вихідним тестом проекту "Hello" (src) та оберемо New > Class (Новий > Клас), як показано на малюнку 3. У діалоговому вікні, що з'явилося, введемо Hello як ім'я класу. Нижче написи Which method stubs would you like to create? (Які заглушки методів ви хочете створити?)відзначимо public static void main(String args)та натиснемо Finish.

Рисунок 3. Створення нового класу у перспективі Java

При цьому буде створено файл.java з класом Hello і порожнім методом main() в області редактора, як показано на малюнку 4. Додамо нижченаведений код до методу (зверніть увагу, що опис для iбуло навмисно опущено).

Малюнок 4. Клас Hello у редакторі Java

Набираючи текст, ви помітите деякі можливості редактора Eclipse, включаючи перевірку синтаксису та автоматичне дописування коду. Крім того, коли ви вводите круглу дужку або подвійні лапки, що відкриває, Eclipse автоматично вставляє для них закриває пару і поміщає курсор в середину.

В інших випадках ви можете викликати автоматичне дописування коду за допомогою комбінації Ctrl+1. Функція дописування коду видає контекстно-залежний список варіантів, з якого можна здійснювати вибір за допомогою клавіатури або миші. Варіанти можуть являти собою список методів, властивих конкретному об'єкту, або фрагмент коду, що базується на різних ключових словах, таких як for або while.

Перевірка синтаксису залежить від інкрементної компіляції. У міру збереження коду він компілюється у фоновому режимі і перевіряється на синтаксичні помилки. За замовчуванням синтаксичні помилки підкреслюються червоним, а зліва на полях з'являється червона точка з білим знаком X. Інші помилки позначаються на полях редактора символом електричної лампочки; це ті проблеми, які редактор міг би виправити за вас (функція під назвою Quick Fix).

У наведеному вище коді знак лампочки знаходиться біля оператора for , оскільки був пропущений опис для i . Подвійне натискання мишкою на лампочку викликає появу списку запропонованих виправлень. У нашому випадку буде запропоновано створити поле класу i, локальну змінну i або параметр i для методу; вибір мишкою будь-якого з цих варіантів покаже код, який буде згенерований. На малюнку 5 показаний список запропонованих варіантів та код, пропонований у разі локальної змінної.

Рисунок 5. Варіанти, що пропонуються функцією Quick Fix

Подвійне натискання мишею на реченні вставляє код на потрібне місце у програмі.

Якщо програма компілюється без помилок, її можна запустити, обравши Runу меню Eclipse. (Зверніть увагу на відсутність окремого кроку для компіляції, тому що компіляція виконується зі збереженням коду. Якщо у вашому коді відсутні синтаксичні помилки, він готовий для запуску.) З'являється діалог "Launch Configurations" (Конфігурації Запуску) з потрібними значеннями за замовчуванням; натисніть Runвнизу праворуч. У нижній панелі з'являється нова панель із закладками (Консоль), що відображає результат роботи програми, як показано нижче.

Рисунок 6. Результат роботи програми

Можна також запустити програму у відладчику Java. Спочатку потрібно встановити контрольну точку в main() System.out.println() за допомогою подвійного натискання мишки на сірому полі з лівого боку вікна редагування поруч із викликом System.out.println() . З'явиться блакитна крапка. У меню Runвиберіть команду Debug (Налагодження). Як описано раніше, з'явиться діалог "Launch Configurations". Виберіть команду Run. Перспектива автоматично зміниться на перспективу Debug, що містить низку цікавих нових уявлень, як показано нижче.

Малюнок 7. Перспектива Debug

Зверніть увагу на представлення Debug у лівому верхньому куті перспективи. Це подання показує стек викликів і містить панель інструментів у рядку заголовка, що дозволяє керувати виконанням програми. На панелі є кнопки для продовження, призупинення або завершення програми, переходу до наступного оператора, перекроювання наступного оператора або повернення з методу. Панель нагорі праворуч містить цілий ряд уявлень із закладками, у тому числі Variables (Змінні), Breakpoints (Контрольні точки), Expressions (Вирази) та Display (Відображення). Зараз вибрано закладку Variables, тому ми можемо бачити поточне значення змінної i .

Більш детальну інформацію про будь-яке уявлення можна отримати за допомогою контекстної підказки; для цього клацніть мишею на заголовку вистави і натисніть F1.

Додаткові плагіни

На додаток до плагінів типу JDT, призначених для редагування, компіляції та налагодження додатків, є плагіни, що підтримують весь процес розробки: моделювання, автоматизацію побудови, тестування модулів, тестування продуктивності, керування версіями та конфігурацією.

Eclipse містить плагін для роботи з Системою паралельних версій (CVS - Concurrent Versions System) для керування вихідним кодом. p align="justify"> Плагін Team (Команда) з'єднується з CVS-сервером, дозволяючи членам команди розробників працювати з набором файлів, що містять вихідні тексти, не втручаючись в зміни, що вносяться іншими. Ми не будемо докладніше досліджувати тут керування вихідними текстами з Eclipse, оскільки для цього буде потрібно встановлення CVS-сервера, хоча можливості, пов'язані з підтримкою команди розробників, а не тільки самостійної розробки, є важливою і невід'ємною частиною Eclipse.

Плагіни, які підтримуються та розповсюджуються Фондом Eclipse, можна знайти на веб-сайті Eclipse. Найповніший список наявних плагінів доступний на сторінці Eclipse Plug-in Central, яка є каталогом плагінів.

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

Платформа Eclipse містить потужний набір плагінів (див. рис. 8), які підтримують проекти, такі як JDT та PDE.

Рисунок 8. Спрощена архітектура платформи Eclipse

Темно-сині блоки позначають компоненти, що є центральною частиною Платформи функціонально насичених клієнтів (Rich Client Platform – RCP) у Eclipse. Сама концепція RCP виходить за рамки статті, але вважатимемо, що RCP - це просто набір плагінів з Eclipse, який люди можуть використовувати в розробці додатків, наприклад Lotus Notes® 8. Світло-блакитні блоки є необов'язковими (хоча й рекомендованими) компонентами для включення додатки з урахуванням RCP. А сірі блоки – зовсім необов'язкові. Платформа складається з кількох компонентів, ми розглянемо деякі з них:

Runtime Runtime - це код, який визначає модель плагінів Eclipse, засновану на специфікації OSGi, а також на уявленні про розширення та точки розширення. Runtime також надає додаткові послуги, такі як ведення системного журналу і паралелізм. JFace/SWTПакет інструментів Standard Widget Toolkit (SWT) являє собою набір віджетів, що відповідають за інтерфейс користувача та функції Eclipse. JFace – це просто надбудова над SWT, що надає кілька класів Model-View-Controller (MVC) для полегшення розробки графічних програм. Workbench (Робочий простір)Робочий простір надає Eclipse його індивідуальності. Саме на цьому рівні реалізовано концепцію уявлень, перспектив та таких речей як вікна редагування. Help (Підтримка Користувачів)Цей компонент Eclipse дозволяє надавати підтримку користувачам. Це можна зробити через довідкову систему, яка дозволить користувачам шукати довідкову документацію або за допомогою "шпаргалок", які для кінцевих користувачів можуть представлятися як інтерактивні списки завдань. Update (Оновлення)Компонент update надає в Eclipse засоби, що дозволяють оновлювати програми з однієї версії на іншу. Team (Команда)Компонент team - це інфраструктура, що дозволяє фірмам-розробникам підключати власні системи управління версіями. Зразком реалізації провайдера є плагін CVS, вбудований в Eclipse.

Висновок

З початкового коду, написаного компанією IBM, Eclipse переріс у повнофункціональну екосистему з відкритим вихідним кодом, у якій бере участь понад 100 компаній. Інфраструктура з відкритим вихідним кодом, що переноситься, розширюється - вже не нова ідея, але завдяки добре продуманому, надійному і елегантному дизайну, Eclipse набуває абсолютно нової динаміки.

Ласкаво просимо до екосистеми Eclipse. Нашою метою було допомогти вам якнайшвидше освоїти платформу Eclipse. Ми досягли цього за допомогою вступного тексту та простої практичної вправи. Використовуйте знання, отримані під час читання цієї статті, та станьте активним членом екосистеми Eclipse.

19.04.2005 Наталія Дубова

Спільнота Open Source веде кілька ключових проектів, серед яких, поряд із ОС Linux, – створення платформи розробки Eclipse. На сьогоднішній день ця відкрита платформа інтеграції інструментальних засобів розробки додатків вільно поширюється у відкритих кодах і розвивається спільнотою користувачів.

Не вдаючись до обговорення питання, що є програмування - мистецтво чи ремесло, визнаємо: у тому й іншому випадку програмісту не обійтися без інструментів створення програм. Разом з еволюцією процесу програмування (від «чаклунства» над машинними командами до використання високорівневих мов) удосконалювалися й можливості автоматизації нелегкої праці програмістів. Перші середовища розробки обмежувалися послідовним запуском компіляторів, компонувальників, завантажувачів та відладчиків за допомогою інтерфейсу командного рядка. У 80-ті роки разом із персональними комп'ютерами з'явився ринок програмних продуктів нового класу - інтегрованих середовищ розробки (integrated development environment, IDE) для алгоритмічних (Паскаль та інших.), та був і объектно-ориентированных (Smalltalk, C++) мов програмування. Справжнього розквіту ця область досягла завдяки активній адаптації розробниками Java; найбільш відомі інтегровані середовища для створення програм цією мовою - Borland JBuilder, Symantec Visual Cafe, Microsoft J++, IBM VisualAge та Oracle JDeveloper.

Основне призначення IDE – підвищити продуктивність праці розробника. Перші середовища розробки, що поєднують функціональність редакторів тексту програм, компіляторів та відладчиків, звільняли переважно споживачів від рутинних операцій. Згодом набір функцій IDE ставав багатшим. До нього увійшли покрокові компілятори, браузери для більш логічного представлення програм, засоби автоматичної генерації коду та візуальні редактори для створення графічних інтерфейсів. Наслідуючи віяння часу, середовища розробки трансформувалися з інструментів підвищення продуктивності праці програміста за рахунок підтримки всіх етапів колективної роботи над програмним проектом. Остання тенденція - перетворення IDE на ALM (application lifecycle management), інтегровану систему управління життєвим циклом додатків - від визначення вимог та моделювання до управління конфігураціями та версіями програмного забезпечення, розгортання та супроводу готового рішення.

Кожна нова ступінь еволюції IDE ускладнювала середовище розробки. Однак користувачі таких продуктів, як і раніше, були змушені вдаватися до допомоги коштів, не інтегрованих в IDE, - хоча б тому, що створення програми не обмежується написанням та налагодженням програм однією мовою програмування. Необхідність використовувати в прикладній системі, наприклад HTML-сторінки, схеми реляційних баз даних або шматки коду іншими мовами (на зразок Кобола або PL/1) змушує розробників задіяти відповідний інструментарій, спочатку не включений до IDE.

Ось чому багато постачальників комерційних середовищ розробки прагнуть зробити їх максимально відкритими та забезпечують спеціальні механізми для інтеграції зовнішнього інструментарію. Але жодне середовище не в змозі задовольнити усі можливі вимоги користувача. Для цього вона має бути повністю нейтральною до мови програмування та підтримувати максимальний набір функцій. Не є таким середовищем і Eclipse, але це база, платформа, за допомогою якої можна будувати багатофункціональні та багатомовні середовища розробки.

Платформа

Як пояснюють ініціатори проекту Eclipse , його ідеєю було створення «Apache для засобів розробки» - відкритої платформи, що забезпечує максимум базових можливостей серед розробки та надає механізми інтеграції різних інструментів. Перша версія цієї платформи була розроблена корпорацією IBM і випущена у відкритих кодах наприкінці 2001 року. Незабаром почали з'являтися комерційні реалізації на основі Eclipse, піонером серед яких стало середовище WebSphere Studio Application Developer 4.0. Зараз навколо Eclipse склалася ціла екосистема розробки з відкритим кодом, яка поєднує постачальників та користувачів інструментальних засобів, дослідницькі організації та окремих розробників.

В офіційних документах Eclipse Foundation ( www.eclipse.org) Eclipse Platform визначається як незалежна від постачальників відкрита платформа розробки, що надає базові (framework) і типові (exemplary) можливості, а також інструментальні засоби, що розширюються (extensible). Інструментарій у рамках Eclipse Platform є типовим у тому сенсі, що з його допомогою перевіряється застосування базових можливостей платформи, ілюструються типові ситуації їх використання, підтримуються розробка та супровід самої платформи Eclipse. Інструментарій розширюється, оскільки його функціональність доступна за допомогою документованих програмних інтерфейсів. Базові принципи, яким керувалися творці Eclipse Platform та відповідно до яких вона продовжує розвиватися, такі:

  • підтримка конструювання інструментів розробки додатків;
  • підтримка необмеженої кількості постачальників інструментальних засобів, у тому числі незалежних розробників програмного забезпечення;
  • підтримка інструментів роботи з довільними типами контенту, включаючи HTML, Java, C, JavaServer Pages, EJB, XML, GIF та ін;
  • забезпечення безшовної інтеграції інструментів роботи з різними типами контенту різних виробників;
  • підтримка середовищ розробки додатків зі звичайним і з графічним інтерфейсами користувача;
  • забезпечення можливості виконувати середовище розробки на основі різних операційних систем (сьогодні інструментарій на базі Eclipse реалізований для Linux, HP-UX, IBM AIX, Sun Solaris, QNX, Mac OS X, Windows);
  • облік на користь розвитку платформи популярності мови Java під час створення інструментарію розробки.

Eclipse Platform є написаним на Java середовищем розробки самого загального призначення, архітектура якого забезпечує для вирішення різних завдань інтеграцію різних інструментів і мов програмування. Механізми такої інтеграції дозволяють використовувати Eclipse Platform для побудови розвинених середовищ розробки, звільняють від рутини написання базових засобів на користь створення складних спеціалізованих функцій. Тим самим не лише вирішується проблема підтримки багатофункціональних та багатомовних середовищ розробки, а й закладається база для спрощення переходу від одного типу середовища до іншого у процесі їхньої еволюції. платформа Eclipse, що розвивається спільнотою розробників, буде акумулювати останні досягнення, роблячи їх доступними для розробників конкретних продуктів і усуваючи необхідність у корінній переробці їх систем.

Середовище розробки Eclipse

Основою архітектури Eclipse Platform є принцип використання модулів, що підключаються (plug-in). Платформа реалізує механізми виявлення, інтеграції та виконання таких модулів (див. рисунок). Розробник, який хоче скористатися можливостями Eclipse Platform, пише свій інструментарій на Java як окремий модуль, що підключається. Цей модуль працюватиме з файлами у робочому просторі, що реалізується за допомогою компонента workspace. А його інтерфейс базується на засобах компонента workbench, що задає загальну структуру інтерфейсу і можливості його розширення.

Як правило, за допомогою одного модуля, що підключається, реалізується найпростіша функціональність IDE на базі Eclipse Platform, в той час як більш складні інструментальні засоби компонуються з декількох модулів. При цьому майже вся вбудована функціональність Eclipse Platform також реалізована за допомогою таких модулів – за винятком невеликого ядра Platform Runtime. Для кожного модуля, що підключається, є свій маніфестний файл (manifest), в якому описуються зв'язки даного модуля з іншими. При запуску середовища розробки на базі Eclipse Platform компонент Platform Runtime визначає набір доступних модулів, що підключаються, читає їх маніфестні файли і будує реєстр модулів. Після запуску системи додаткові модулі не можуть бути додані. У рамках проекту Eclipse реалізовано спеціальне середовище для створення модулів, що підключаються - Plug-In Development Environment (PDE).

За допомогою спеціальних модулів реалізовані компоненти робочого простору (workspace) та інтерфейсу користувача (workbench) платформи Eclipse. Робочий простір містить файли, які створюють користувачі інструментів, що реалізуються модулями, що підключаються. Компонент workbench забезпечує загальну структуру та засоби, що дозволяють розширювати можливості користувальницького інтерфейсу середовища розробки на базі Eclipse Platform, включає два компоненти для реалізації засобів надання інформації користувачу.

  • Standard Widget Toolkit (SWT) – набір інтерфейсних елементів та графічна бібліотека, які мають механізми інтеграції з віконною системою конкретної операційної платформи, але реалізують API, незалежні від ОС. Це дозволяє за єдиними принципами будувати інтерфейси середовища розробки, які відповідають звичному для споживача віконному середовищу, але призначені для максимально можливого спектру операційних систем;
  • JFace - інструментарій для реалізації низки загальних завдань, пов'язаних із програмуванням інтерфейсів із використанням засобів SWT.

На базі API, що надаються компонентами SWT і JFace, будується персоналізований інтерфейс користувача, який визначає структуру взаємодії споживача з інструментарієм розробки. Інтерфейс Eclipse Platform організується за допомогою редакторів (editor), видів (view) та перспектив (perspective).

Призначення редакторів – відкривати, редагувати та зберігати об'єкти робочого простору. Платформа має вбудований редактор для текстових ресурсів, а інші можливості повинні бути реалізовані як модулі, що підключаються. Види надають інформацію про об'єкт, з яким користувач працює на даний момент. Зрештою, механізм перспектив дозволяє вибрати та організувати потрібні редактори та види, які будуть виведені на екрані.

Організація

Ведення проектів у відкритих кодах дає низку переваг. Так, одним із завдань подібної платформи є надання розробникам інструментарію із загальної бази, інваріантної для різних середовищ розробки. Навіщо кожному виробнику писати наново те, що можна написати один раз? Але, щоб будувати на такій платформі свої розробки, виробник повинен повністю довіряти тому, хто її створив. А це можливо лише в тому випадку, якщо він зуміє випробувати все те, що в ній закладено, тобто отримати платформу у відкритих кодах.

Розробка продукту відповідно до принципів Open Source підвищує якість коду, оскільки його спільно відшліфовують безліч зацікавлених розробників. Простішим і якіснішим стає налагодження - завдяки доступу до вихідних текстів програми і знову ж таки залученню до роботи розподіленого колективу. Спільна праця дозволяє поділити ризики створення складних технологій. А колективний орган розвитку платформи забезпечує підтримку незалежно від перипетій, які можуть статися з постачальниками конкретних середовищ розробки. Нарешті, використання платформи розробки у відкритих кодах з гнучким механізмом модулів для реалізації додаткової функціональності відкриває необмежені можливості її вдосконалення.

Архітектура Eclipse Platform

Однак реалізувати переваги моделі розробки з відкритим кодом, просто випустивши у вільне плавання технічну платформу, не вдасться. Потрібна організація процесу. З виходом першої версії Eclipse у 2001 році цю турботу взяв на себе консорціум, організований IBM разом із низкою провідних гравців ринку, а в лютому 2004 року рада директорів Eclipse вирішила перетворити Eclipse Foundation на неприбуткову незалежну корпорацію.

Консорціум Eclipse Foundation, що об'єднує понад 60 компаній, координує роботи з удосконалення платформи Eclipse та інші проекти з відкритим кодом.

Проект Eclipse повністю відкритий, брати участь у ньому може будь-який зацікавлений розробник, який має бути співробітником будь-якої компанії. У принципі, кожен може не тільки цікавитися деталями розробки та робити свій внесок у виявлення помилок, а й брати участь у написанні коду та спільному проектуванні чергової версії платформи. Однак Eclipse дотримується принципу пріоритету професіоналізму. Розробник із підтвердженою професійною репутацією може розраховувати на додаткову відповідальність та можливість активно реалізувати свою кваліфікацію у проектах Eclipse. Частина розробників визначаються як «відповідальні» (committer), оскільки ними покладається відповідальність за вихідні коди, і вони мають право створювати нові версії у відкритому репозитарії вихідних текстів. Як правило, такі розробники є співробітниками компаній, які оплачують їхню роботу в рамках проектів Eclipse.

Процес розробки є ітеративним, спрямованим на максимальне залучення членів спільноти Eclipse до роботи над проектом. Випуску чергового релізу передують кілька етапів фіксованої тривалості (порядку кількох тижнів), кожен з яких являє собою закінчений цикл, що включає планування, розробку, тестування і проміжний випуск версії. Завершення чергового циклу супроводжується відкритою публікацією опису нових можливостей системи, що стимулює членів спільноти до їх обговорення, використання та видачі рекомендацій щодо вдосконалення. У результаті наступних етапах розробки з'являється можливість врахувати реакцію співтовариства проміжний реліз. Таким є відкритий процес постійного вдосконалення платформи Eclipse та розвитку інших ініціатив на її базі.

Завданням технологічного проекту Eclipse є координація зусиль розробників, дослідників, членів наукових та освітніх організацій щодо визначення перспектив Eclipse Platform та інших розробок з відкритим кодом. Серед найбільш помітних дослідницьких підпроектів у рамках цього напряму можна відзначити розробку аспектно-орієнтованого програмного забезпечення (AspectJ та AJDT), створення ядра, альтернативного Eclipse Runtime (Equinox), створення платформи спільної розробки (Koi), управління конфігураціями програмного забезпечення (Stellation), інструментарій для XML-схем (XML Schema Definition) та розробки на базі моделей (Generative Model Transformer).

Спільнота

Використання всіх матеріалів, отриманих під час реалізації проектів Eclipse, регулюється ліцензійними правилами Common Public License (CPL), схвалені організацією Open Source Initiative. Відповідно до CPL кожен може безкоштовно застосовувати та розповсюджувати Eclipse у комерційних та некомерційних цілях. У вільному доступі на сайті eclipse.org є:

  • поточні версії Eclipse Platform для безпосереднього використання (у двійковій формі);
  • репозитарій вихідних кодів, у якому будь-хто може переглянути вміст та історію ревізій будь-якого вихідного файлу, а також отримати скрипти для рекомпіляції та складання платформи Eclipse з вихідних кодів;
  • відкриті дискусійні форуми для обговорення Eclipse Platform;
  • база даних помилок для відстеження дефектів та проблем поточних версій платформи. За допомогою цієї бази користувачі можуть виявляти відомі дефекти у своїх розробках на базі Eclipse та оприлюднити нові виявлені ними проблеми;
  • плани розробки та контакти розробників, які беруть участь у проектах Eclipse.

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

Ключове значення у розвиток ринку програмних засобів розробки має у проекті Eclipse комерційних компаній. У Eclipse Platform вони отримують готові базові послуги середовища розробки, нейтральні до мов та операційним платформам, і можуть зосередити зусилля та інвестиції на розвитку складної функціональності, яка забезпечить конкурентоспроможність їх рішень. Є приклади реалізації на базі Eclipse як повнофункціональних середовищ розробки, що просувають передові рішення в цій галузі, так і спеціалізованих засобів, націлених на певне коло завдань.

Так, на платформі Eclipse працюють усі продукти сімейства IBM Rational. Компанія Borland має намір перекласти на Eclipse усі свої засоби підтримки життєвого циклу програм. Існує версія для Eclipse засобів розробки вбудованих програм компанії QNX; аналогічний проект реалізує та Wind River. У свою чергу Hewlett-Packard пропонує на базі Eclipse середовище розробки компонентів для своєї системи Internet Usage Manager, цільовою аудиторією якої є оператори зв'язку. Nokia анонсувала підтримку Eclipse як платформи розробки мобільних програм. IBM реалізувала на базі Eclipse спеціальний інструментарій Autonomic Computing Toolkit, призначений для підтримки в програмах технологій автономних обчислень, що розробляються. З усіх провідних світових виробників програмного забезпечення з Eclipse Foundation не співпрацюють лише Sun Microsystems та Microsoft.

Постачальники комерційних середовищ на базі Eclipse дають можливість незалежним компаніям-розробникам продавати додаткові модулі для їх IDE, і трапляється, що компанія реалізує один і той самий модуль власної розробки для різних середовищ на платформі Eclipse. Це не тільки метод освоєння нових ринків, але ще один спосіб підвищення значущості проекту. Користувачі цінують свободу вибору: якщо вони не задоволені існуючою функціональністю середовища на базі платформи з відкритим кодом, вони можуть розширювати її за допомогою самостійних розробок або придбання комерційних рішень того самого формату.

Перелічені групи по-різному використовують розробки Eclipse, але всі вони роблять свій внесок у їх розвиток. Тенденцією стає використання платформи Eclipse для побудови програм, відмінних від IDE. Це можливо, оскільки в технологічному рішенні Eclipse Platform не так багато специфічних серед розробки елементів. У третій версії Eclipse відбувається еволюція від платформи серед розробки до платформи реалізації повнофункціональних клієнтських робочих місць (Rich Client Platform). Невипадково IBM реалізує своє перспективне середовище спільної роботи Workplace саме з урахуванням Eclipse.

Література

  1. Marc R. Erickson, Angus McIntyre. , 2001, Листопад.
  2. J. dea Rivieres, J. Wiegand. Eclipse. A platform for integrating development tools. IBM Systems Journal, 2004, No. 2.

Структура організації Eclipse

Координацію розвитку Eclipse та участі у проектах з відкритим кодом різних організацій та індивідуальних розробників здійснює некомерційний незалежний консорціум Eclipse Foundation

Рада директорів Eclipse Foundation формується із чотирьох основних категорій учасників:

  • стратегічні розробники (Strategic Developers) – компанії Actuate, Borland, IBM, Computer Associates, Intel, QNX, Wind River, Sybase, Scapa Technologies, BEA Systems;
  • стратегічні споживачі (Strategic Consumers) – HP, Montavista Software, SAP, Serena Software;
  • включені постачальники (Add-in Providers);
  • керівники проектів із відкритим кодом (Open Source project leads).

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

Консорціум веде кілька базових проектів у відкритих кодах, які включають ту чи іншу кількість підпроектів. Управління базовим проектом здійснює Комітет Project Management Committee (PMC). Для управління розробкою в цілому створюються три основні засади - за визначенням вимог (Requirements Council), з архітектури (Architecture Council) та з планування (Planning Council).

Рада з визначення вимог аналізує та структурує вимоги до проекту. Вони об'єднують вимоги, спрямовані на досягнення спільних цілей Eclipse Foundation та приватних цілей проекту, на вирішення завдань ключових членів консорціуму та розвиток екосистеми Eclipse. На основі аналізу формулюється список тем та пріоритетів, які визначать хід розробки. Рада з архітектури відповідає за розробку архітектури Eclipse Platform, її чіткий опис, доведення відповідних відомостей до команд розробників та їх захист від ненавмисних спотворень. Рада планування створює скоординований план релізів платформи.

Проекти реалізуються командами розробників, які очолюють керівники проектів і включають розробників і відповідальних розробників. Перші займаються написанням коду, виявленням помилок, тестуванням та документуванням програм, а також виконують інші завдання у рамках проекту. Відповідальні розробники мають право поповнювати репозитарій вихідних кодів та мають впливати на хід розробки в рамках проекту. Компанії, що мають у Eclipse Foundation статус стратегічних розробників, повинні очолювати принаймні один проект. Заохочується також їхнє керівництво комітетами.



Якщо ви коли-небудь уважно стежили за подіями, що відбуваються у світі 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 (

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

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

Особливості мови програмування

Об'єкто-орієнтована і типізована мова Java має безліч корисних для розробників особливостей. Серед них можна виділити таке:

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

Крім того, ця мова дуже поширена, оскільки характеризується як багатопотоковий, високопродуктивний, інтерпретований і динамічний.

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

Існує кілька реалізацій цієї платформи, серед яких особливе місце займає Eclipse. Середовище розробки модульних кросплатформових додатків має низку обов'язкових можливостей, присутніх і в інших подібних продуктах. Серед них можна виділити:

  • Загальноприйняті технології розгортання програм у середовищі користувача.
  • Інструментарії для створення графічних інтерфейсів будь-якої складності.
  • Бібліотеки для дистанційного керування об'єктами та програмного доступу до даних.
  • Інструменти для запуску, налагодження, компіляції, моніторингу та інших дій з програмами.

Що таке Eclipse?

Eclipse - середовище розробки, яке контролюється компанією Eclipse Foundation. Вона надає відкритий код, що забезпечує нові можливості для розробників. Вона написана на Java і призначена для покращення процесу створення програмного забезпечення.

Цей проект - це інфраструктура, що надає важливі для розробників базові послуги. Існуючі інструменти дозволяють створювати нові технології в Eclipse. p align="justify"> Середовище розробки є не просто зборами API - вона може впоратися з повноцінними завданнями.

Безліч плагінів з відкритим вихідним кодом дарує необмежені можливості для розробників інструментаріїв. У програму можуть бути додані будь-які доповнення, що дозволить налаштувати і адаптувати її під будь-яке завдання.

Особливості платформи

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

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

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

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

Середовище програмування складається з кількох основних елементів. По-перше, це Eclipse Runtime, яка відповідає за роботу модулів та плагінів. До цієї виконуючої середовищі належить базовий функціонал. Це передбачає управління оновленнями, взаємодію із системою, налаштування плагінів, підтримку працездатності розділу допомоги.

По-друге, це сама IDE, що відповідає за управління проектами, провідними елементами програми, а також за налагодження, розробку команд і пошук серед файлів.

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

Приклади інших спеціалізованих збирань

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

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

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

Конкуруючі продукти

Дане середовище розробки має чимало конкурентів, але остаточно вибрати кращого представника неможливо. Eclipse можна впевнено вважати найпопулярнішою. Нею користувалися майже всі розробники, завдяки низці незаперечних переваг.

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

Головним конкурентом цієї програми є продукт NetBeans, і він повністю безкоштовний. За ліцензію Eclipse доведеться заплатити, і деяких це відлякує. Серед інших конкуруючих продуктів можна назвати також IntelliJ IDEA, JDeveloper, Android Studio, DrJava і MyEclipse. Але найкращою багато хто вважає саме 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) - комплект розробника додатків на Java, що безкоштовно розповсюджується компанією Oracle Corporation (раніше Sun Microsystems), що включає компілятор Java (javac), стандартні бібліотеки класів Java, приклади , документацію, різні утиліти та виконавчу систему Java (JRE) До складу JDK не входить інтегроване середовище розробки на Java, тому розробник, який використовує лише JDK, змушений використовувати зовнішній текстовий редактор і компілювати свої програми, використовуючи утиліти командного рядка.

Малюнок 1 - Вікно встановлення JDK

При першому запуску завантажувача Eclipse перед появою самого середовища виконується ряд завершальних настановних кроків (наприклад створення директорії workspace для зберігання файлів проектів) .


Малюнок 1.2 - Вікно запуску Eclipse

mob_info