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

Що таке 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
Сторінка привітання Eclipse

Рисунок 2. Сторінка огляду Eclipse
Сторінка огляду 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


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


Рисунок 4. Клас Hello в редакторі Java
Клас Hello в редакторі Java


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


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


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


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


Рисунок 5. Варіанти, запропоновані функцією Quick Fix
Варіанти, запропоновані функцією 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


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


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


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


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


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


Модулі, які підтримуються і розповсюджуються Фондом Eclipse можна знайти на Web-сайті 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.


Схожі статті:


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

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*