JavaRush /Java блог /Архив info.javarush /Eclipse, NetBeans чи IntelliJ IDEA? Обираємо IDE для Java...
Bender
1 рівень
Маунтин-Вью

Eclipse, NetBeans чи IntelliJ IDEA? Обираємо IDE для Java-розробки

Стаття з групи Архив info.javarush
Eclipse, NetBeans чи IntelliJ IDEA? Обираємо IDE для Java-розробки - 1Представляємо вашій увазі адаптацію статті Мартіна Геллера, програміста та редактора ресурсу JavaWorld. Ви, ймовірно, вже чули про трійку найпопулярніших IDE для розробки мовою Java. Відсотків 90 промислових програмістів користуються або Eclipse, або NetBeans, або ж IntelliJ IDEA, і кожна з цих IDE має свої переваги та недоліки. У цій статті ми спробуємо описати їх таким чином, щоб ви зрозуміли, яка з них підходить саме вам. Хоча, звісно, краще спробувати всі три в роботі, і з'ясувати, що найкраще підходить саме вам. Цього не замінить жоден огляд.

Що таке середовище розробки?

Якщо відповісти дуже коротко, середовище розробки – це програма або кілька програм, які ви використовуєте для створення програм. До цього процесу належить, власне, написання коду, його налагодження, запуск, інтеграція з системами управління версіями. Якщо раніше розробники часто користувалися найпростішим текстовим редактором (іноді навіть без підсвічування синтаксису), наприклад "Блокнотом" і командним рядком, то зараз найчастіше використовують комбайни "все-в-одному", інтегровані середовища розробки або IDE.

Що таке IDE?

Інтегроване середовище розробки або англійською Integrated development environment – IDE – це програма, яка містить у собі інструменти для розробки програмного забезпечення. Зазвичай сучасне середовище розробки містить у собі:
  • Текстовий редактор із підсвічуванням коду;
  • компілятор або інтерпретатор;
  • браузер класів, інспектор об'єктів і діаграму ієрархії класів;
  • засоби автоматизації складання;
  • відлагоджувач;
  • засоби для інтеграції з системами управління версіями (Git);
  • інструменти для спрощення конструювання графічного інтерфейсу користувача.
Я і раніше працював з цими IDE, але для цього дослідження я встановив IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE, і NetBeans 8.1 Java EE на ноутбук MacBook Pro. Я тестував IDE на кількох open source Java-проектах.

Чого очікувати від IDE

Сучасна IDE "здорового Java-розробника" має підтримувати Java 8, Scala, Groovy, а також інші мови віртуальної машини Java, які той регулярно використовує. Не була б зайвою і підтримка основних серверів застосунків і найпопулярніших веб-структур, зокрема – Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails і Vaadin. IDE має бути сумісним з будь-якими білдами систем контролю версій, наприклад, Ant, Maven або Gradle, разом із Git, SVN, CVS, Mercurial або Bazaar. Додатково для середовища розробки важливо вміти працювати з базами даних і клієнтським шаром вашого стека, мати підтримку вбудованого JavaScript, TypeScript, HTML, SQL, JavaServer Pages, Hibernate, а також API Java Persistence. Нарешті, логічно покладатися на те, що IDE дасть змогу редагувати, створювати, налагоджувати і тестувати системи без зайвого напруження. Ідеально, якщо середовище розробки підтримує не тільки інтелектуальне автодоповнення коду, а й інтелектуальний рефакторинг і метрики коду. У багатьох випадках буде не зайвою підтримка фреймворків для тестування і заглушок. Якщо ваша команда використовує систему тікетів і CI/CD, необхідно, щоб IDE мала змогу до них підключитися. А ще вирішіть, чи потрібні вам розгортання і налагодження в контейнерах і хмарах. Ми перерахували тільки основні очікування (можливо, вам є, що додати), а тепер придивимося до наших суперників.

IntelliJ IDEA

Eclipse, NetBeans або IntelliJ IDEA? Обираємо IDE для Java-розробки - 2IntelliJ IDEA з погляду можливостей і ціни постачається у двох варіантах: безкоштовного Community edition, і платного Ultimate edition з розширеною функціональністю. Community edition призначене для JVM- і Android-розробки. Безкоштовна версія підтримує Java, Kotlin, Groovy і Scala; Android; Maven, Gradle і SBT; працює з системами контролю версій Git, SVN, Mercurial і CVS. Ultimate edition пристосоване для веб- і enterprise-розробки. Ця версія IDE працює не тільки з Git, SVN, Mercurial і CVS, а й із Perforce, ClearCase і TFS; у ньому ви зможете писати JavaScript і TypeScript; звісно ж, є підтримка Java EE, Spring, GWT, Vaadin, Play, Grails і низки інших фреймворків. І, звичайно, не обійшлося без SQL та інструментів для роботи з базами даних. Ідея, якою керуються розробники цієї IDE, формуючи цінову політику, полягає в тому, що її комерційна версія (Ultimate) посяде своє місце на комп'ютерах професіоналів, завдяки чому їхня продуктивність підвищиться. Якщо Java-програміст щорічно заробляє $50 тисяч (або й більше), повернути витрачені на платну IDE IntelliJ IDEA інвестиції (500 доларів за річну підписку) можна буде дуже швидко хоча б завдяки незначному прискоренню його роботи. У наступні роки ціна для бізнесу падає, для стартапів, фрілансерів вона істотно нижча, а для студентів, вчителів, Java-чемпіонів і open source-розробників вона і зовсім безкоштовна. IntelliJ IDEA підкуповує своїм глибоким розумінням коду, розумною ергономікою, вбудованими функціями для розробки і підтримкою багатьох мов. Eclipse, NetBeans чи IntelliJ IDEA? Обираємо IDE для Java-розробки - 3
Малюнок 1. IntelliJ IDEA показує кількість попереджень (warnings) і припущення, що ґрунтуються на статистичному аналізі Java-коду. Ви можете вивчити припущення докладніше, клікнувши на них, як наведено на малюнку; у багатьох випадках ви отримаєте список із вибором і варіантами виправлень.

Глибоке розуміння коду

Підсвічування синтаксису і просте автодоповнення коду – звичайна річ для будь-яких сучасних Java-редакторів. IDEA пішла далі, запропонувавши "розумне автодоповнення". Цей термін означає, що середовище розроблення показує список найбільш релевантних символів, які можна застосувати в наданому контексті. Список символів залежить не тільки від контексту як такого, «загальноприйнятого», а й від стилю програмування розробника, від того, наскільки часто він використовує ті чи ті оператори. «Завершення ланцюжка» і взагалі показує список символів, що застосовуються, що допустимі через методи або геттери в поточному контексті. Крім того, у випадку зі статичними членами або константами IDEA автоматично додає будь-які необхідні оператори імпорту (import). У всіх випадках автодоповнення, IDEA намагається вгадати тип символу під час виконання, уточнити свій вибір і навіть застосувати приведення типів, якщо необхідно. Код Java часто містить фрагменти з інших мов у вигляді рядків. IDEA може вводити код SQL, XPath, HTML, CSS або JavaScript у рядкові літерали Java. У цьому сенсі IDE може здійснювати рефакторинг коду кількома мовами. Наприклад, якщо ви перейменуєте клас у JPA-відображенні, IDEA оновить відповідний клас сутностей і виразів JPA. Під час рефакторингу фрагмента коду у розробника виникає одне (цілком природне) бажання: щоб усі дублікати цього коду також зарефакторилися. IDEA Ultimate знаходить дублікати та схожі фрагменти і також застосовує до них рефакторинг. IntelliJ IDEA аналізує код під час завантаження і безпосередньо під час введення. Воно вказує на передбачувані проблеми (як на нашому малюнку вище) і, за бажанням, пропонує список ймовірних швидких правок до виявлених проблем.

Ергономіка

Eclipse, NetBeans чи IntelliJ IDEA? Обираємо IDE для Java-розробки - 4IntelliJ IDEA спроєктована таким чином, щоб не вибивати розробника зі стану потокової продуктивності, якщо він вже в ньому опинився. Вікно Project, зображене на першому малюнку ліворуч, зникає за простим кліком мишки, щоб програміст міг зосередитися на вікні редактора коду. Для всіх дій, які можуть знадобитися під час написання коду, існують комбінації клавіш для їхнього швидкого виклику, зокрема – визначення символів у спливаючих віконцях. Спочатку всі ці комбінації складно запам'ятати, але поступово до них звикаєш, і тільки ними і користуєшся. Проте, навіть якщо програміст не використовує комбінації клавіш, як свідчить практика, він звикає до роботи в IDEA легко і швидко. Хочеться особливо зазначити відлагоджувач IDEA: значення змінних відображаються безпосередньо у вікні редактора, поруч із відповідним вихідним кодом. У разі зміні стану змінної, колір підсвічування також змінюється.

Вбудовані інструменти

IntelliJ IDEA забезпечує єдиний інтерфейс взаємодії з більшістю систем контролю версій, зокрема з Git, SVN, Mercurial, CVS, Perforce і TFS. Ви можете керувати змінами безпосередньо в IDE, що дуже зручно. Коли я тестував IDEA, у мене виникало бажання, щоб остання зміна у вихідному коді показувалася у вікні редактора у вигляді анотації (як це відбувається, наприклад, у Visual Studio). Як виявилося, у IDEA є для цього спеціальний плагін. Також IDEA оснащена інструментами для збірки, середовищем виконання тестів, інструментами покриття (coverage tools) і вбудованим термінальним вікном. У IntelliJ немає власного профайлера, але за допомогою плагінів до неї можна під'єднати сторонні. Наприклад, YourKit, створений колишнім провідним розробником JetBrains або VisualVM (це перепакована версія профайлера NetBeans). Налагодження в Java може бути болісним, коли відбуваються всілякі загадкові речі з класами, вихідних кодів яких у вас немає. Комплект IDEA містить декомпілятор для таких випадків. Серверне програмування на Java передбачає часту взаємодію з базами даних, тож програмісти IDEA версії Ultimate оцінять зручність інструментів для роботи з SQL і БД. Але якщо комусь їхніх можливостей буде замало, можна придбати версію IDEA Ultimate із вбудованою SQL IDE (DataGrip). Щоправда, це буде дещо дорожче, ніж звичайна підписка IDEA Ultimate. IntelliJ IDEA підтримує всі основні сервери застосунків JVM, і дає змогу розгортати і проводити налагодження на цих серверах, що нівелює добре знайомі всім програмістам Java Enterprise труднощі. IDEA також підтримує Docker (за допомогою плагіна, який додає до середовища розробки спеціальне вікно інструментів Docker. До речі, плагінів у IDEA – просто море.  

Справжній поліглот

IDEA розширило підтримку коду Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS та інших фреймворків. Ви, мабуть, помітили, що не всі з них пов'язані з Java. IDEA безпосередньо з коробки "розуміє" й інші мови – Groovy, Kotlin, Scala, JavaScript, TypeScript і SQL. Якщо ви не знайшли в цьому переліку потрібної вам мови, наразі існує 19 мовних плагінів IntelliJ, зокрема, для забезпечення підтримки R, Elm і D.

Eclipse IDE

Eclipse, NetBeans чи IntelliJ IDEA? Обираємо IDE для Java-розробки - 5Років 10 тому на запитання про найкращу IDE Java-розробник відповідав упевнено: Eclipse. Довгі роки це середовище розробки впевнено утримувало пальму першості серед Java IDE. Це середовище повністю безкоштовне, з відкритим вихідним кодом, написаним переважно мовою Java. Проте його модульна архітектура дає змогу використовувати Eclipse і з іншими мовами. Проект Eclipse, ініційований IBM, з'явився 2001 року. Ним хотіли замінити сімейство середовищ розробки IBM Visual Age, що ґрунтуються на Smalltalk. Ну а головною метою, про що навіть назва говорить, було затьмарити Microsoft Visual Studio (eclipse англійською означає затемнення). Портативність Java допомагає Eclipse бути кросплатформенним середовищем: ця IDE працює на Linux, Mac OS X, Solaris і Windows. Добре це чи погано, Java Standard Widget Toolkit (SWT), принаймні частково, відповідає за зовнішній вигляд Eclipse. Своєю продуктивністю (або, як кажуть деякі доброзичливці, її відсутністю) Eclipse зобов'язане JVM. Eclipse працює доволі повільно, оскільки впирається корінням у доволі старе "залізо" і давні версії JVM. Навіть сьогодні воно здається повільним, особливо якщо начепити на нього багато плагінів. Частину витрат ресурсів Eclipse можна віднести на рахунок його вбудованого інкрементного компілятора, який запускається щоразу під час завантаження файлу або оновлення коду. Корисна штука, саме вона ловить помилки під час введення тексту. Незалежно від збірки, проєкт Eclipse підтримує модель контенту, яка містить інформацію про ієрархію типів, посилань і оголошення Java-елементів. Поточна версія Eclipse носить ім'я Neon (4.6.0). Я інсталював Eclipse Java EE IDE для веб-розробників (це далеко не єдина опція, ви можете обрати щось ще). Він містить мінімальну Eclipse SDK, а плагіни додаються на вимогу. До речі, робота з плагінами в цій IDE – не для людей зі слабкими нервами. Сторонні плагіни часто конфліктують між собою, хоча в їхній офіційній специфікації про це нічого не згадано. Eclipse, NetBeans чи IntelliJ IDEA? Обираємо IDE для Java-розробки - 6
Малюнок 2. Зліва направо розташовані чотири панелі інструментальних засобів Eclipse: Провідник пакетів, редактор Java, структура класів Java і список завдань. Проєкт, завантажений в Eclipse на цьому малюнку, – JUnit test framework. Панелі можна легко поміняти місцями.

Підтримка плагінів

Екосистема плагінів Eclipse – це одночасно сильна сторона цієї IDE і одна з головних її проблем. Саме через несумісність плагінів часом падають цілі збірки, і програмістам доводиться починати роботу спочатку. Наразі для Eclipse написано понад 1700 плагінів, офіційних і неофіційних, які можуть працювати відмінно, а можуть вкрай погано. Плагіни Eclipse підтримують понад 100 мов програмування і майже 200 фреймворків для розробки застосунків. Більшість серверів Java також підтримуються: якщо ви позначите нове з'єднання із сервером з Eclipse, ви потрапите до списку папок виробників, де знайдете приблизно 30 серверів застосунків. Тільки варіантів Apache Tomcat буде цілих дев'ять штук. Комерційні виробники, переважно, збирають свої рішення разом: наприклад, є тільки один пункт Red Hat JBoss Middleware, а вже всередині ви знайдете WildFly та інструменти EAP-сервера, а також JBoss AS.

Редагування, рефакторинг і налагодження

Перший досвід роботи з Eclipse може викликати замішання і навіть збити з пантелику. Спочатку необхідно налаштувати Eclipse і звикнути до її концептуальної архітектури робочих просторів, ракурсів і видів. Усе це визначається плагінами, які ви встановили. Для серверного розроблення мовою Java, ви, ймовірно, використовуватимете ракурси Java, Java EE і Java browsing, вид, що відображає структуру пакета (Package Explorer), ракурс налагодження, ракурс командної синхронізації веб-інструментів, ракурс розроблення баз даних і ракурс налагодження бази даних. На практиці все набуває сенсу, коли ви відкриєте потрібні вам вікна. Eclipse практично завжди пропонує кілька способів вирішення того чи того завдання. Наприклад, ви можете переглядати код за допомогою ракурсу перегляду Java (Java browsing perspective). Що обрати – справа смаку і вибору. Спеціальний пошук Java надає змогу знайти оголошення, посилання та входження Java-пакетів, типів, методів, полів. Ви також можете використовувати швидкий доступ до пошуку і попередній перегляд. Поширені патерни коду можна згенерувати з шаблонів коду. Рефакторинг Java в Eclipse підтримує 23 операції, починаючи від загальноприйнятих операцій з перейменування і закінчуючи менш очевидними перетвореннями (як у книзі Мартіна Фаулера). Eclipse підтримує налагодження як локально, так і віддалено, за умови, що ви використовуєте JVM, яка підтримує віддалене налагодження. Налагодження досить стандартне: ви визначаєте контрольні точки, а потім переглядаєте змінні в закладці налагодження. Звичайно, можна покроково виконувати свій код і обчислювати вирази. У Eclipse – величезна база документації різного віку, цінності та корисності. На жаль, виявлення невідповідного поточній версії малюнку в інструкції, наприклад, із застарілим інтерфейсом і розташуванням кнопок – звичайна справа для цієї IDE. На жаль, проблема запізнілого оновлення документації дуже характерна для будь-яких проєктів із вихідним кодом.

NetBeans

Eclipse, NetBeans чи IntelliJ IDEA? Обираємо IDE для Java-розробки - 7NetBeans з'явилася як студентський університетський проєкт у Празі 1996 року. У 1997 році IDE стало комерційним продуктом, а в 1999 році її викупила компанія Sun Microsystems (батьки Java) і вже наступного року представила open source-реліз. Актуальна версія 8.1 працює на машинах під управлінням ОС Windows, Mac OS X, Linux і Solaris. Ну а пакет portable можна запустити на будь-яких системах, для яких існує Java-машина. Собі я завантажив Java EE bundle, це один із шести можливих пакетів завантаження. Цей бандл підтримує JavaScript і HTML, GlassFish і Tomcat, але не підтримує PHP, C/C++/Fortran, Groovy і Grails: їх можна отримати в пакеті «Все включено» (або просто «All»). Проте, за бажання, я в будь-який момент зможу завантажити підтримку вищеназваних мов, обравши відповідний плагін (та й будь-який інший). Їх у NetBeans трохи менше, ніж у Eclipse, зате вони зазвичай не конфліктують один з одним. Цієї осені Oracle (їй NetBeans дісталася після поглинання Sun Microsystems) вирішила передати це середовище розроблення під крило Apache Software Foundation разом з усіма правами, вихідними кодами, торговельною маркою, доменом "netbeans.org" і низкою інших елементів інфраструктури. Тож майбутнє проєкту поки що туманне, хоча раніше у системи були певні родинні привілеї. Так, саме NetBeans першим отримало підтримку Java 8 практично одразу після виходу оновленої платформи, і була названа "офіційною IDE для Java 8". Утім, через місяць після виходу ця перевага була втрачена: саме тоді інші IDE також отримали підтримку восьмої Java. Проте, хочу зазначити, підтримка Java 8 у NetBeans справді хороша, і ця IDE чудово підходить для вплетення в "старий" код трюків восьмої версії. Його редактори, аналізатори коду і конвертери допоможуть програмісту провести апгрейд коду, використовуючи в ньому конструкції, характерні для Java 8 – лямбда-вирази, функціональні оператори і посилання на методи. Плагіни JavaScript у NetBeans 8 чудово справляються з підтримкою Node.js і новітніх інструментів JavaScript, як-от Gulp і Mocha, так само як і з підтримкою інтерпретатора JavaScript Nashorn. Eclipse, NetBeans чи IntelliJ IDEA? Обираємо IDE для Java-розробки - 8
Малюнок 3. Тут NetBeans працює з тим самим проєктом на основі Maven, що й IntelliJ IDEA, який було відкрито на малюнку 1. Зверніть увагу на розширену функціональність у контекстному меню та підменю рефакторингу

Редагування та рефакторинг

Редактор NetBeans підтримує мови, виявляє помилки в той час, коли ви друкуєте, і надає вам допомогу через спливаючі підказки і «розумне» автодоповнення коду. За суб'єктивним відчуттям IDE справляється з цим завданням швидше, ніж Eclipse, але дещо повільніше IntelliJ IDEA. Крім того, NetBeans має повний спектр інструментів рефакторингу (що наведено на малюнку 3), які дають змогу програмістові реструктуризувати код, не ламаючи його, виконувати аналіз вихідних текстів, а також пропонує широкий набір підказок для швидких виправлень або розширення коду. До складу NetBeans входить інструмент проєктування для графічного інтерфейсу користувача Swing, раніше відомий як "Project Matisse". Розробники високо оцінюють засіб автоматизованого рефакторингу Inspect & Transform, що з'явився у версії NetBeans 7.1. Він дає змогу провести аналіз коду проєкту і втілити пропоновані поліпшення. Хоча особисто я віддаю перевагу спочатку перевірці усього власного коду unit-тестами, і тільки потім запуску інструментів, які можуть внести радикальні зміни. Я неодноразово страждав від усіляких автоматичних виправлень, які призвели до непоправних наслідків.

Збірка, налагодження та профілювання

NetBeans має чудову вбудовану підтримку Maven і Ant, а також плагін для Gradle. Я дуже зрадів, коли виявив, що проєкти Maven сприймаються системою як "рідні". Це означає, що їх можна просто відкривати, а не імпортувати. NetBeans також містить привабливе (і корисне) графічне відображення для залежностей Maven. Налагоджувач Java NetBeans непоганий, але із застереженнями. Окремий візуальний налагоджувач дає змогу програмісту робити знімки екрана користувацького графічного інтерфейсу та вивчати інтерфейси застосунків, виконаних за допомогою JavaFX і Swing. Профайлер NetBeans робить більш очевидним те, яким чином використовується процесор і пам'ять, і має чудові інструменти для виявлення витоків пам'яті.

Яке IDE для Java краща? Порівняння трійки гігантів

Я використовував усі три IDE – Eclipse, NetBeans і IntelliJ IDEA протягом багатьох років у зазначеному хронологічному порядку. Щоразу після переходу на інше IDE я відчував, що моя продуктивність підвищується. Але навіть коли я був твердо впевнений, що мій остаточний вибір – IDEA, мені часом доводилося повертатися до одного з двох IDE, що залишилися. Так було, наприклад, у той час, коли Eclipse було єдиним інструментом, який підтримував розробку під Android (сьогодні є Android Studio, поточна офіційна IDE для Android, воно ґрунтується на IntelliJ IDEA). Звісно, всі три інтегровані середовища розробки мають своїх шанувальників і противників. Я знаю безліч Java-розробників, які обожнюють IntelliJ IDEA, так само як і лояльні фанати Visual Studio C++ і C#. Найчастіше ці люди радіють тому факту, що їхня продуктивність зросла, і вартість річної підписки повертається всього за кілька тижнів використання платної версії IDEA. Однак користувачі NetBeans і Eclipse також часто прив'язані до своїх інструментів і дивуються, чому інші програмісти готові платити гроші за IDEA. Java-розробникам-початківцям я б радив триматися подалі від Eclipse. Незважаючи на те, що це все ще найпопулярніше IDE для Java, новачкам з ним важко: заблукати в нетрях Eclipse легко, причому і під час розгортання системи, і під час виконання повсякденної роботи. У Eclipse – найбільш розгорнута екосистема плагінів серед усіх IDE, а також найбільша ймовірність «злетіти» через встановлення несумісного набору цих самих плагінів. На жаль, за час використання Eclipse я неодноразово мусив видаляти чергову поламану збірку цієї IDE та інсталювати "чистий" бандл. NetBeans добре підходить для більшості розробників, у нього чудовий профайлер, і я часом його використовую. Однак волію заплатити за IntelliJ IDEA Ultimate. Та й майбутнє NetBeans поки що туманне. Java-розробникам-початківцям, у яких поки що немає коштів для придбання інструментарію, я рекомендую використовувати NetBeans або IntelliJ IDEA Community Edition залежно від їхніх завдань. Перше варто обирати тим, хто займається кодуванням серверів Java, але тільки якщо ви не належите до категорії тих, хто може отримати IntelliJ IDEA Ultimate безоплатно або з величезною знижкою (студенти або ті програмісти, які розробляють проєкт open source).

"Легкі" Java IDE

Сьогодні більшість Java-розробників використовують IDEA, NetBeans або Eclipse, але деколи виникає потреба в більш "легких" середовищах розроблення або навіть у редакторах коду на кшталт Sublime Text, emacs або vim, які підтримують плагіни Java. Нижче я перерахував розумні варіанти для тих, хто шукає щось легше:
  • DrJava – невелике безкоштовне середовище розробки. Його створили для студентів Університету Райса, і воно стала досить популярним: DrJava завантажили вже понад 2 млн разів. DrJava покликане розвивати розробку через тестування (test-driven development). Середовище містить "розумний" редактор коду, панель взаємодії для оцінювання коду застосунку, відлагоджувач рівня джерела та інструменти модульного тестування.
  • BlueJ безкоштовне середовище розробки Java, створене фахівцями Кентського університету для програмістів-початківців. Це середовище підтримується Oracle. BlueJ вирізняється набагато лаконічнішим і простішим інтерфейсом, ніж професійні IDE, як-от NetBeans або Eclipse, і навіть містить спеціальний підручник з основ ООП.
  • JCreator – ще одна невелика Java IDE для Windows, написана мовою C++ (з міркувань підвищення продуктивності). Платна версія Pro оснащена відлагоджувачем, підтримкою Ant і code wizards, ну а безкоштовна версія (LE) – ні.
  • Eclipse Che – браузерне хмарне IDE: Java, C++, JavaScript, Python, PHP, Ruby і SQL – низка мов, які воно підтримує.

Обрання Java IDE залежно від проєкту

Я постарався описати важливі переваги кожного з трьох найзначніших Java IDE і побіжно згадав про їхніх корисних маленьких суперників. Щоб правильно обрати середовище розробки Java, потрібно зважити всі "за" і "проти" і зіставити їх з вашими потребами і потребами ваших проєктів. Якщо ви приєднуєтеся до команди, буде доцільно використовувати те саме IDE, що й інші розробники, хоча це й не обов'язково. Якщо ваша команда розміщує вихідні коди на GitHub, звісно, буде зручніше, якщо ваше IDE підтримуватиме GitHub. Так, ви можете впоратися з переданням коду і без IDE, використовуючи клієнт GitHub або командний рядок git. Але наскільки ефективними будуть такі ось стрибки між різними системами? Також важливо, щоб IDE підтримувало систему збірки. Наприклад, якщо це Maven, навряд чи ви захочете перезбирати систему в Ant для локального тестування. На щастя, всі три великі Java IDE підтримують і Ant, і Maven, і Gradle або «з коробки», або через плагін. А ось для "маленьких" IDE це може виявитися невірним. Цілком природним бажанням є підтримка середовищем розробки версії JRE, що використовується в проєкті. У разі невідповідності версій велика ймовірність отримати масу зайвих багів, які, наприклад, у вас проявляться, а в інших членів команди – ні. Навряд чи така ситуація добре позначиться на вашій кармі. Відверто кажучи, невідповідність JRE частіше з'являється через помилки у конфігурації, ніж через відсутність підтримки IDE, за винятком тих випадків, коли IDE ще не встигло оновитися до нової версії Java. Просто повірте: якщо ваше IDE повністю підтримує фреймфорки і технології, які використовуються в проєкті, це дійсно допомагає прискорити роботу. Ви, найімовірніше, і так впораєтеся. Але, якщо IDE розуміє, яким чином JPA statements пов'язані з класами сутностей і виразами JPA (як IntelliJ), на пов'язаний з JPA код ви витратите значно менше часу, ніж у разі тотального нерозуміння. Ну а якщо IDE підтримує фреймворк для тестування і використовуваний для проєкту виконавець коду, ви зможете проводити тести, не змінюючи робочого середовища. Що теж прискорить процес розробки. Нарешті, робота йде швидше, якщо IDE сумісне з системою відстеження помилок і тікет-системою проєкту. Знову ж таки, ви можете скористатися автономним або веб-клієнтом, скажімо, JIRA, але складно не погодитися з тим, що перевіряти тікети набагато швидше, не змінюючи вікно, залишаючись безпосередньо в IDE.

Безкоштовне чи платне?

Після тестування саме від IntelliJ IDEA Ultimate у мене виникло відчуття правильного середовища розробки. Такого собі Кадилака світу IDE. Не буду беззастережно стверджувати, що IDEA – найкраще IDE для Java, але для мене все саме так. Повторюся: хоч воно і не безкоштовне, я вважаю, що приріст продуктивності від його використання вартий річної передплати. Для початківців, які не можуть собі дозволити річну передплату IntelliJ IDEA Ultimate, я рекомендую використовувати NetBeans, а не Eclipse. Звісно, екосистема плагінів Eclipse сьогодні розвинена значно краще, ніж у будь-якого іншого IDE, проте вона дуже заросла і недоглянута: розробник-початківець ризикує загрузнути в нетрях IDE, Java і занурення в роботу відійде на другий план. Також торкнувся «полегшених» альтернатив, дві з яких були розроблені спеціально для навчальних цілей. Що ж, якщо ви тільки-но починаєте вивчати мови і віддаєте перевагу мінімалістичному середовищу – чому б і ні?
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ