JavaRush /Java блогу /Random-KY /Eclipse, NetBeans же IntelliJ IDEA? Java иштеп чыгуу үчүн...
Bender
Деңгээл
Маунтин-Вью

Eclipse, NetBeans же IntelliJ IDEA? Java иштеп чыгуу үчүн IDE тандоо

Группада жарыяланган
Eclipse, NetBeans же IntelliJ IDEA?  Java өнүктүрүү үчүн IDE тандоо - 1Сиздердин назарыңыздарга JavaWorld ресурсунун программисти жана редактору Мартин Хеллердин макаласынын адаптациясын сунуштайбыз. Сиз Java иштеп чыгуу үчүн эң популярдуу үч IDE жөнүндө уккандырсыз. Өнөр жай программисттердин 90 пайызы Eclipse, NetBeans же IntelliJ IDEA колдонушат жана бул IDEлердин ар биринин өзүнүн артыкчылыктары жана кемчorктери бар. Бул макалада биз сиз үчүн кайсынысы туура экенин түшүнүү үчүн, аларды сүрөттөөгө аракет кылабыз. Албетте, үчөөнү тең жумушта сынап көрүп, сизге эмне ылайыктуу экенин бorп алганыңыз жакшы. Муну эч кандай кароо алмаштыра алbyte.

Өнүгүү чөйрөсү деген эмне?

Өтө кыска жооп, иштеп чыгуу чөйрөсү - бул программаларды түзүү үчүн колдонгон программа же бир нече программалар. Бул процесс, чынында, codeду жазууну, аны оңдоону, ишке киргизүүнү жана versionны башкаруу системалары менен интеграциялоону камтыйт. Эгерде мурда иштеп чыгуучулар көбүнчө Блокнот жана буйрук сабы сыяктуу жөнөкөй текст редакторун (кээде синтаксисти бөлүп көрсөтпөстөн) колдонушса, азыр алар көбүнчө бардыгы бир процессорлорду, интеграцияланган иштеп чыгуу чөйрөлөрүн же IDEлерди колдонушат.

IDE деген эмне?

Интеграцияланган иштеп чыгуу чөйрөсү же англис тorнде Integrated Development environment - IDE - программалык камсыздоону иштеп чыгуу үчүн куралдарды камтыган программа. Эреже катары, заманбап өнүгүү чөйрөсү төмөнкүлөрдү камтыйт:
  • Кодду бөлүп көрсөтүү менен текст редактору;
  • компилятор же котормочу;
  • Класс браузери, an object инспектору жана класс иерархиясынын диаграммасы;
  • монтаждоочу автоматика куралдары;
  • мүчүлүштүктөрдү оңдоочу;
  • versionларды башкаруу системалары (Git) менен интеграциялоо куралдары;
  • колдонуучунун графикалык интерфейсинин дизайнын жөнөкөйлөтүү үчүн куралдар.
Мен буга чейин бул IDE менен иштегем, бирок бул изилдөө үчүн IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE жана NetBeans 8.1 Java EEди MacBook Pro ноутбукуна орноттум. Мен бир нече ачык булак Java долбоорлорунда IDE сынап көрдүм.

IDEден эмнени күтүүгө болот

"Дени сак Java иштеп чыгуучусу" үчүн заманбап IDE Java 8, Scala, Groovy, ошондой эле ал дайыма колдонгон башка Java виртуалдык машина тилдерин колдоого алышы керек. Негизги тиркеме serverлерин жана эң популярдуу веб алHowтарды, анын ичинде Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails жана Vaadin колдоо да пайдалуу болмок. IDE Git, SVN, CVS, Mercurial же Bazaar менен бирге Ant, Maven же Gradle сыяктуу ар кандай versionларды башкаруу тутумдарына шайкеш келиши керек. Андан тышкары, иштеп чыгуу чөйрөсү үчүн маалымат базалары жана стекиңиздин кардар катмары менен иштей билүү, орнотулган JavaScript, TypeScript, HTML, SQL, JavaServer Pages, Hibernate, ошондой эле Java Persistence колдоого ээ болуу маанилүү. API. Акыр-аягы, IDE керексиз стресссиз системаларды түзөтүүгө, түзүүгө, мүчүлүштүктөрдү оңдоого жана тестирлөөгө мүмкүндүк берет деп үмүттөнүү логикалык. Идеалында, иштеп чыгуу чөйрөсү интеллектуалдык codeду гана эмес, акылдуу рефакторингди жана code көрсөткүчтөрүн да колдойт. Көпчүлүк учурларда, тестирлөө алHowтарын жана stubтарды колдоо пайдалуу болот. Эгерде сиздин командаңыз билет тутумун жана CI/CDди колдонсо, аларга туташуу үчүн сизге IDE керек. Жана контейнерлерде жана булуттарда жайгаштыруу жана мүчүлүштүктөрдү оңдоо керекпи же жокпу, чечиңиз. Биз негизги күтүүлөрдү гана санап чыктык (балким, сизде кошумчалай турган нерсе бардыр), эми биздин атаандаштарыбызды жакшыраак карап көрөлү.

IntelliJ IDEA

Eclipse, NetBeans же IntelliJ IDEA?  Java өнүктүрүү үчүн IDE тандоо - 2Функциялар жана баа жагынан IntelliJ IDEA эки versionда келет: бекер Коомчулуктун чыгарылышы жана кеңейтилген функциялары менен акы төлөнүүчү Ultimate чыгарылышы. Коомчулуктун чыгарылышы JVM жана Android иштеп чыгуу үчүн иштелип чыккан. Акысыз version Java, Kotlin, Groovy жана Scala колдойт; Android; Maven, Gradle жана SBT; version башкаруу системалары менен иштейт Git, SVN, Mercurial жана CVS. Ultimate чыгарылыш веб жана ишкананы өнүктүрүү үчүн ылайыктуу. IDEнин бул versionсы Git, SVN, Mercurial жана CVS менен гана эмес, Perforce, ClearCase жана TFS менен да иштейт; анда сиз JavaScript жана TypeScript менен жаза аласыз; Албетте, Java EE, Spring, GWT, Vaadin, Play, Grails жана башка бир катар алHowтарды колдоо бар. Жана, албетте, биз SQL жана маалымат базалары менен иштөө куралдарысыз кыла алмак эмеспиз. Баа саясатын түзүүдө бул IDEди иштеп чыгуучуларга жетекчorк кылган идея анын коммерциялык versionсы (Ultimate) профессионалдардын компьютерлеринде өз ордун ээлейт, ошонун аркасында алардын өндүрүмдүүлүгү жогорулайт. Эгерде Java программисти жыл сайын 50 миң доллар тапса (же андан да көп), акы төлөнүүчү IDE IntelliJ IDEAга (жылдык жазылуу үчүн 500 доллар) жумшалган инвестициянын кайтарымы анын ишинин бир аз ылдамдашы менен абдан тез болот. Кийинки жылдары бизнес үчүн баа төмөндөйт, стартаптар жана фрилансерлер үчүн бул кыйла төмөн, ал эми студенттер, мугалимдер, Java чемпиондору жана ачык булак иштеп чыгуучулары үчүн бул толугу менен акысыз. IntelliJ IDEA өзүнүн терең code түшүнүгү, акылдуу эргономикасы, орнотулган иштеп чыгуу функциялары жана көп тилдүү колдоосу менен таң калтырат. Eclipse, NetBeans же IntelliJ IDEA?  Java өнүктүрүү үчүн IDE тандоо - 3
1-сүрөт. IntelliJ IDEA Java codeунун статистикалык анализинин негизинде эскертүүлөрдүн жана божомолдордун санын көрсөтөт. Сүрөттө көрсөтүлгөндөй, аларды басуу аркылуу божомолдорду кененирээк изилдей аласыз; көп учурларда тандоолор жана оңдоо параметрлери бар тизмени аласыз.

Кодду терең түшүнүү

Синтаксисти бөлүп көрсөтүү жана жөнөкөй codeду толтуруу бардык заманбап Java редакторлору үчүн кадимки көрүнүш. IDEA "акылдуу автотолтурууну" сунуштоо менен алдыга жылды. Бул термин иштеп чыгуу чөйрөсү берилген контекстте колдонулуучу эң актуалдуу символдордун тизмесин көрсөтөт дегенди билдирет. Символдордун тизмеси "жалпы кабыл алынган" контексттен гана эмес, иштеп чыгуучунун программалоо стorнен, ал белгилүү бир операторлорду канчалык көп колдонгонунан көз каранды. "Чынжырды аяктоо" азыркы контекстте ыкмалар же алуучулар аркылуу уруксат берилген тиешелүү белгилердин тизмесин көрсөтөт. Кошумчалай кетсек, статикалык мүчөлөр же туруктуулар үчүн IDEA автоматтык түрдө керектүү импорттук билдирүүлөрдү кошот. Автотолтуруунун бардык учурларда, IDEA иштөө убагында символдун түрүн болжолдоого, анын тандоосун тактоого жана керек болсо типти чыгарууга да аракет кылат. Java codeу көбүнчө саптар катары башка тилдердин үзүндүлөрүн камтыйт. IDEA Java сап литералдарына SQL, XPath, HTML, CSS же JavaScript codeун киргизе алат. Бул жагынан алганда, IDE бир нече тилде codeду рефакторлай алат. Мисалы, JPA картасында класстын атын өзгөртсөңүз, IDEA тиешелүү JPA an objectисин жана туюнтма классын жаңылайт. Коддун бир бөлүгүн рефакторациялоодо иштеп чыгуучунун бир (табигый) каалоосу бар: бул codeдун бардык дубликаттары да рефакторацияланышы керек. IDEA Ultimate дубликаттарды жана окшош фрагменттерди табат, ошондой эле аларга рефакторингди колдонот. IntelliJ IDEA codeду жүктөөдө жана сиз аны киргениңизде талдайт. Ал шектүү көйгөйлөрдү көрсөтөт (жогорку сүрөттөгүдөй) жана кошумча түрдө табылган көйгөйлөрдү тез оңдоолордун тизмесин сунуштайт.

Эргономика

Eclipse, NetBeans же IntelliJ IDEA?  Java өнүктүрүү үчүн IDE тандоо - 4IntelliJ IDEA иштеп чыгуучуну иштеп чыгуучу ага киргенден кийин агып жаткан өндүрүмдүүлүк абалынан чыгарбоо үчүн иштелип чыккан. Сол жактагы биринчи сүрөттө көрсөтүлгөн Долбоор терезеси, программист code редакторунун терезесине көңүл бурушу үчүн, чычкандын жөнөкөй басуусу менен жок болот. Кодду жазып жатканда зарыл болгон бардык аракеттер үчүн аларды тез чакыруу үчүн баскыч айкалыштары, анын ичинде калкыма терезелерде белгилерди аныктоо бар. Башында бул комбинациялардын бардыгын эстеп калуу кыйын, бирок бара-бара көнүп, аларды гана колдоносуз. Бирок, программист клавиатуранын жарлыктарын колдонбогон күндө да, практика көрсөткөндөй, ал IDEAда оңой жана тез иштөөгө көнүп калат. Мен өзгөчө IDEA мүчүлүштүктөрдү белгилегим келет: өзгөрмө маанилери түздөн-түз редактордун терезесинде, тиешелүү баштапкы codeдун жанында көрсөтүлөт. Өзгөрмөнүн абалы өзгөргөндө, бөлүү түсү да өзгөрөт.

Камтылган аспаптар

IntelliJ IDEA көпчүлүк versionларды башкаруу системалары, анын ичинде Git, SVN, Mercurial, CVS, Perforce жана TFS менен иштешүү үчүн бирдиктүү интерфейсти камсыз кылат. Өзгөртүүлөрдү түздөн-түз IDEде башкара аласыз, бул абдан ыңгайлуу. Мен IDEAды сынап жатканда, менде баштапкы codeдогу акыркы өзгөртүү annotation катары редактордун терезесинде көрсөтүлүшүн кааладым (мисалы, Visual Studio'до). Көрсө, IDEAда бул үчүн атайын плагин бар. IDEA ошондой эле куруу куралдары, сыноонун иштөө убактысы, камтуу куралдары жана орнотулган терминал терезеси менен келет. IntelliJдин өзүнүн профor жок, бирок үчүнчү тараптын профайлдарын ага плагиндер аркылуу туташтырууга болот. Мисалы, JetBrains'тин мурдагы башкы иштеп чыгуучусу же VisualVM (бул NetBeans профorнин кайра пакеттелген versionсы) тарабынан түзүлгөн YourKit. Java'да мүчүлүштүктөрдү оңдоо сизде булагы жок класстарда ар кандай табышмактуу нерселер болуп жатканда кыйналышы мүмкүн. IDEA мындай учурлар үчүн декомпиляторду камтыйт. Java'да serverдик программалоо маалымат базалары менен тез-тез иштешүүнү талап кылат, ошондуктан IDEA Ultimate программисттери SQL жана маалымат базалары менен иштөө үчүн шаймандардын ыңгайлуулугун баалайт. Бирок алардын мүмкүнчүлүктөрү кимдир бирөө үчүн жетишсиз болсо, анда сиз орнотулган SQL IDE (DataGrip) менен IDEA Ultimate versionсын сатып алсаңыз болот. Бирок, ал кадимки IDEA Ultimate жазылуусуна караганда бир аз кымбатыраак болот. IntelliJ IDEA бардык негизги JVM тиркеме serverлерин колдойт жана бул serverлерде орнотууга жана мүчүлүштүктөрдү оңдоого мүмкүндүк берет, бул бардык Java Enterprise программисттерине тааныш болгон кыйынчылыктарды жок кылат. IDEA ошондой эле Докерди колдойт (иштеп чыгуу чөйрөсүнө Docker куралынын атайын терезесин кошкон плагин аркылуу. Баса, IDEAнын көптөгөн плагиндери бар.  

Чыныгы полиглот

IDEA Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS жана башка алHowтар ​​үчүн кеңейтилген codeдук колдоону сунуштады. Сиз, балким, алардын баары Java конкреттүү эмес экенин байкаган чыгарсыз. IDEA башка тилдерди түз эле "түшүнөт" - Groovy, Kotlin, Scala, JavaScript, TypeScript жана SQL. Бул тизмеде сиз издеп жаткан тилди көрбөсөңүз, учурда 19 IntelliJ тил плагиндери бар, алар R, Elm жана D тилдерин колдойт.

Eclipse IDE

Eclipse, NetBeans же IntelliJ IDEA?  Java өнүктүрүү үчүн IDE тандоо - 5 Болжол менен 10 жыл мурун, эң мыкты IDE жөнүндө суроого, Java иштеп чыгуучусу ишенимдүү жооп берди: Eclipse. Көптөгөн жылдар бою бул өнүгүү чөйрөсү Java IDEлердин арасында ишенимдүү түрдө алаканга салып турду. Бул чөйрө толугу менен акысыз, ачык булак, негизинен Java тorнде жазылган. Бирок, анын модулдук архитектурасы Eclipseди башка тилдерде колдонууга мүмкүндүк берет. IBM тарабынан демилгеленген Eclipse долбоору 2001-жылы пайда болгон. Алар Smalltalk негизинде иштеп чыгуу чөйрөлөрүнүн IBM Visual Age үй-бүлөсүн алмаштырууну каалаган. Ооба, негизги максат, атүгүл аты айтып тургандай, Microsoft Visual Studio (Eclipse, англис тorнде тутулуу дегенди билдирет) ашып кетүү болгон. Javaнын портативдүүлүгү Eclipse'ке кайчылаш платформа чөйрөсү болууга жардам берет: бул IDE Linux, Mac OS X, Solaris жана Windows системаларында иштейт. Жаманбы же жакшыбы, Java Standard Widget Toolkit (SWT) Eclipseтин көрүнүшү жана сезими үчүн жарым-жартылай жооп берет. Eclipse өзүнүн иштешине (же кээ бир жакшы каалоочулар айткандай, анын жоктугуна) JVMге милдеттүү. Eclipse өтө жай иштейт, анткени ал JVMдин эски жабдыктарына жана байыркы versionларына негизделген. Бүгүнкү күндө да ал жай көрүнөт, айрыкча, ага көп плагиндерди тиркөөңүз. Eclipse'тин ресурстук кошумча чыгымдарынын айрымдары файл жүктөлгөн же code жаңыртылган сайын иштей турган анын камтылган кошумча компиляторуна таандык кылынышы мүмкүн. Бул пайдалуу нерсе, ал текстти киргизүүдө каталарды кармайт. Түзүлгөнүнө карабастан, Eclipse долбоору типтердин иерархиясы, шилтемелери жана Java элементтеринин декларациялары жөнүндө маалыматты камтыган мазмун моделин колдойт. Eclipseтин учурдагы versionсы Neon (4.6.0) деп аталат. Мен веб-иштеп чыгуучулар үчүн Eclipse Java EE IDE орноттум (бул жалгыз вариант эмес, сиз башка нерсени тандай аласыз). Анда минималдуу Eclipse SDK камтылган жана плагиндер талап боюнча кошулат. Айтмакчы, бул IDEдеги плагиндер менен иштөө оңой эмес. Үчүнчү тараптын плагиндери көбүнчө бири-бири менен карама-каршы келет, бирок алардын расмий спецификациялары бул жөнүндө эч нерсе айтпайт. Eclipse, NetBeans же IntelliJ IDEA?  Java өнүктүрүү үчүн IDE тандоо - 6
2-сүрөт. Солдон оңго карай төрт Eclipse куралдар панели бар: Package Explorer, Java Editor, Java Class Structure жана Task List. Бул сүрөттө Eclipseге жүктөлгөн долбоор JUnit тестинин негизи болуп саналат. Панелдерди оңой алмаштырууга болот.

Плагинди колдоо

Eclipse плагининин экосистемасы IDEдин күчү жана анын негизги көйгөйлөрүнүн бири. Бул плагиндердин туура келбегендигинен улам кээде бүтүндөй ассамблеялар бузулуп, программисттер кайрадан ишин баштоого туура келет. Учурда Eclipse үчүн расмий жана расмий эмес жазылган 1700дөн ашык плагиндер бар, алар жакшы иштеши мүмкүн же иштебеши мүмкүн. Eclipse плагиндери 100дөн ашык программалоо тилдерин жана дээрлик 200 тиркемелерди иштеп чыгуу алHowтарын колдойт. Көпчүлүк Java serverлери да колдоого алынат: эгер сиз Eclipseден жаңы server байланышын дайындасаңыз, анда сиз 30га жакын тиркеме serverлерин таба турган сатуучу папкалардын тизмесине өтөсүз. Жалгыз тогуз Apache Tomcat варианты болот. Коммерциялык сатуучулар өз чечимдерин бириктирүүгө умтулушат: мисалы, бир гана Red Hat JBoss Middleware пункту бар, анын ичинде сиз WildFly жана EAP server куралдарын, ошондой эле JBoss AS таба аласыз.

Түзөтүү, рефакторинг жана мүчүлүштүктөрдү оңдоо

Eclipse менен болгон биринчи тажрыйбаңыз баш аламандык жана баш аламандык болушу мүмкүн. Биринчи кадам - ​​Eclipseти орнотуу жана анын жумушчу мейкиндиктеринин, көрүнүштөрүнүн жана көрүнүштөрүнүн концептуалдык архитектурасына көнүү. Мунун баары сиз орноткон плагиндер менен аныкталат. Сервер тарабында Java иштеп чыгуу үчүн, сиз, кыязы, Java, Java EE жана Java серептөө көрүнүштөрүн, Package Explorer көрүнүшүн, мүчүлүштүктөрдү оңдоо көрүнүшүн, веб куралдардын буйругун синхрондоштуруу көрүнүшүн, маалымат базасын иштеп чыгуу көрүнүшүн жана маалымат базасын оңдоо көрүнүшүн колдоносуз. Иш жүзүндө, сизге керектүү терезелерди ачканда бардыгы түшүнүктүү болот. Eclipse дээрлик ар дайым белгилүү бир маселени чечүү үчүн бир нече жолдорун сунуш кылат. Мисалы, сиз Java серептөө перспективасын колдонуу менен codeду көрө аласыз. Эмнени тандоо - бул даам жана тандоо маселеси. Атайын Java издөөсү Java пакеттеринин, түрлөрүнүн, ыкмаларынын, талааларынын декларацияларын, шилтемелерин жана көрүнүштөрүн табууга мүмкүндүк берет. Сиз ошондой эле тез издөө мүмкүнчүлүгүн жана алдын ала көрүү мүмкүнчүлүгүн колдоно аласыз. Жалпы code үлгүлөрү code калыптарынан түзүлүшү мүмкүн. Eclipseдеги Java Refactoring 23 операцияны колдойт, алар жалпы атын өзгөртүү операцияларынан анча айкын эмес трансформацияларга чейин (Мартин Фаулердин китебиндегидей). Эгер сиз алыстан мүчүлүштүктөрдү оңдоону колдогон JVM колдонуп жатсаңыз, Eclipse жергorктүү жана алыстан мүчүлүштүктөрдү оңдоону колдойт. Мүчүлүштүктөрдү оңдоо абдан стандарттуу: сиз үзүү чекиттерин аныктап, андан кийин мүчүлүштүктөрдү оңдоо өтмөгүндө өзгөрмөлөрдү көрөсүз. Албетте, сиз codeуңузду басып өтүп, туюнтмаларга баа бере аласыз. Eclipse ар кандай курактагы, баалуулуктардагы жана пайдалуу documentтердин кеңири маалымат базасына ээ. Тилекке каршы, нускамалардан учурдагы versionга дал келбеген сүрөттү табуу, мисалы, эскирген интерфейс жана баскычтардын жайгашуусу бул IDE үчүн кеңири таралган көрүнүш. Тилекке каршы, documentтерди кеч жаңыртуу көйгөйү ар кандай баштапкы code долбоорлору үчүн өтө кеңири таралган.

NetBeans

Eclipse, NetBeans же IntelliJ IDEA?  Java өнүктүрүү үчүн IDE тандоо - 7NetBeans 1996-жылы Прагада университеттин студенттик долбоору катары башталган. 1997-жылы IDE коммерциялык продукт болуп, 1999-жылы аны Sun Microsystems (Java ата-энелери) сатып алган жана кийинки жылы ачык булак чыгарууну сунуштаган. Учурдагы 8.1 versionсы Windows, Mac OS X, Linux жана Solaris менен иштеген машиналарда иштейт. Ооба, көчмө пакет Java машинасы бар каалаган системада иштетorши мүмкүн. Мен өзүм үчүн Java EE таңгагын жүктөп алдым, бул алты мүмкүн болгон жүктөө пакетинин бири. Бул таңгак JavaScript жана HTML, GlassFish жана Tomcatти колдойт, бирок PHP, C/C++/Fortran, Groovy жана Grails'ди колдобойт: аларды "All Inclusive" пакетинен (же жөн эле "Бардыгы") алса болот. Бирок, эгер мен кааласам, тиешелүү плагинди (же башкасын) тандап, каалаган убакта жогорудагы тилдер үчүн колдоону жүктөп алам. NetBeans алардын Eclipse караганда азыраак, бирок алар, адатта, бири-бирине карама-каршы келбейт. Ушул күздө Oracle (Sun Microsystems сатып алгандан кийин NetBeans компаниясына ээ болгон) бардык укуктар, баштапкы code, соода маркасы, "netbeans.org" домени жана башка бир катар инфраструктуралар менен бирге бул өнүктүрүү чөйрөсүн Apache Software Foundation канатынын астына өткөрүп берүүнү чечти. элементтер. Ошондуктан, долбоордун келечеги дагы эле бүдөмүк, бирок система мурда тиешелүү артыкчылыктарга ээ болгон. Ошентип, NetBeans жаңыртылган платформа чыккандан кийин дээрлик дароо эле Java 8ге биринчилерден болуп колдоо алган жана "Java 8 үчүн расмий IDE" деп аталган. Бирок, чыгарылгандан бир ай өткөндөн кийин, бул артыкчылык жоголду: дал ошондо башка IDEлер дагы Java 8 үчүн колдоо алышкан. Бирок, мен NetBeans'тин Java 8 колдоосу чындыгында жакшы экенин жана IDE Java 8 трюктарын "эски" codeго кошуу үчүн сонун экенин белгилегим келет. Анын редакторлору, code анализаторлору жана конвертерлери программистке Java 8ге мүнөздүү конструкцияларды - lambda туюнтмаларын, функционалдык операторлорду жана метод шилтемелерин колдонуу менен codeду жаңыртууга жардам берет. NetBeans 8деги JavaScript плагиндери Node.js жана Gulp жана Mocha сыяктуу эң акыркы JavaScript куралдарын, ошондой эле Nashorn JavaScript котормочусун колдоо боюнча эң сонун жумуш аткарат. Eclipse, NetBeans же IntelliJ IDEA?  Java өнүктүрүү үчүн IDE тандоо - 8
Сүрөт 3. Бул жерде NetBeans 1-сүрөттө ачылган IntelliJ IDEA ошол эле Maven негизиндеги долбоорду иштетип жатат. Контексттик менюдагы жана рефакторинг субменюсындагы өркүндөтүлгөн функцияларга көңүл буруңуз.

Түзөтүү жана рефакторинг

NetBeans Editor тилдерди колдойт, сиз терип жатканыңызда каталарды аныктайт жана кеңештерди жана акылдуу codeду толтурууга жардам берет. Субъективдүү сезимге ылайык, IDE бул милдетти Eclipseге караганда тезирээк чечет, бирок IntelliJ IDEAга караганда бир аз жайыраак. Кошумчалай кетсек, NetBeans рефакторинг куралдарынын толук спектрине ээ (3-сүрөттө көрсөтүлгөндөй), алар программистке codeду бузбастан реструктуризациялоого, булак анализин жүргүзүүгө мүмкүндүк берет, ошондой эле тез оңдоолор же code кеңейтүүлөрү үчүн кеңештердин кеңири спектрин сунуштайт. NetBeans Swing GUI дизайн куралын камтыйт, мурда "Project Matisse" деп аталган. Иштеп чыгуучулар NetBeans 7.1де киргизилген Inspect & Transform автоматташтырылган рефакторинг куралын жогору баалашат. Бул долбоордун codeун талдоо жана сунушталган жакшыртууларды жасоого мүмкүндүк берет. Жеке болсом да, мен өзүмдүн бардык codeумду биринчи бирдик тесттери менен сынап көрүүнү туура көрөм, андан кийин гана радикалдуу өзгөртүүлөрдү киргизе турган куралдарды иштетем. Мен бир нече жолу орду толгус кесепеттерге алып келген ар кандай автоматтык оңдоолордун азабын тарттым.

Building, Debugging and Profiling

NetBeans Maven жана Ant үчүн эң сонун камтылган колдоого, ошондой эле Gradle үчүн плагинге ээ. Мен Maven долбоорлоруна система тарабынан "туулган" катары мамиле кылынганын билгенде абдан кубандым. Бул аларды импорттоого эмес, жөн гана ачууга болот дегенди билдирет. NetBeans ошондой эле Maven көз карандылыгы үчүн жагымдуу (жана пайдалуу) графикалык дисплейди камтыйт. NetBeans Java мүчүлүштүктөрдү оңдоочу жаман эмес, бирок ал кээ бир эскертүүлөр менен коштолот. Өзүнчө визуалдык мүчүлүштүктөрдү оңдоочу программистке колдонуучунун графикалык интерфейсинин скриншотторун тартууга жана JavaFX жана Swing аркылуу жасалган тиркемелердин интерфейстерин изилдөөгө мүмкүндүк берет. NetBeans профor CPU жана эстутум кантип колдонуларын ачык-айкын көрсөтөт жана эс тутумдун агып кетишин табуу үчүн эң сонун куралдарга ээ.

Кайсы Java IDE жакшыраак? Алптардын үчилтигин салыштыруу

Мен бардык үч IDEди, Eclipse, NetBeans жана IntelliJ IDEAны көп жылдар бою саналып өткөн хронологиялык тартипте колдондум. Башка IDEге өткөн сайын өндүрүмдүүлүгүм жогорулаганын сездим. Бирок мен IDEA менин акыркы тандоом экенине бекем ишенгенимде да, кээде калган эки IDEнин бирине кайтууга туура келди. Бул, мисалы, Eclipse Android иштеп чыгуусун колдогон жападан жалгыз инструмент болуп турган убакта болгон (бүгүнкү күндө Android Studio бар, Android үчүн учурдагы расмий IDE, ал IntelliJ IDEAга негизделген). Албетте, үч IDE тең күйөрмандары жана каршылаштары бар. Мен IntelliJ IDEAны сүйгөн көптөгөн Java иштеп чыгуучуларын, ошондой эле Visual Studio C++ жана C# лоялдуу күйөрмандарын билем. Көбүнчө, бул адамдар алардын өндүрүмдүүлүгү жогорулап, IDEAнын акы төлөнүүчү versionсын колдонгондон бир нече жума өткөндөн кийин жылдык жазылуунун баасы кайтарылганына кубанышат. Бирок, NetBeans жана Eclipse колдонуучулары да көп учурда куралдарына тиркелет жана эмне үчүн башка программисттер IDEA үчүн акча төлөөгө даяр деп таң калышат. Мен жаңы Java иштеп чыгуучуларына Eclipseтен алыс болууну кеңеш берет элем. Бул дагы эле Java үчүн эң популярдуу IDE экендигине карабастан, үйрөнчүктөр үчүн кыйын: тутумду жайылтуу учурунда да, күнүмдүк жумуш учурунда да Eclipse жапайы жаратылышында адашып калуу оңой. Eclipse бардык IDEлердин ичинен эң кеңири плагин экосистемасына ээ, ошондой эле ушул эле плагиндердин шайкеш келбеген топтомун орнотуудан улам кыйроого учурашы мүмкүн. Тилекке каршы, Eclipseти колдонуп жатып, мен бир нече жолу бул IDEдин башка бузулган жыйындысын алып салууга жана "таза" таңгак орнотууга туура келди. NetBeans көпчүлүк иштеп чыгуучулар үчүн жакшы, анын сонун профor бар, мен аны кээде колдоном. Бирок, мен IntelliJ IDEA Ultimate үчүн төлөөнү артык көрөм. Ал эми NetBeans келечеги дагы эле бүдөмүк. Куралдарды сатып алууга бюджети жок жаңы Java иштеп чыгуучулары үчүн алардын муктаждыктарына жараша NetBeans же IntelliJ IDEA Community Edition колдонууну сунуштайм. Биринчисин Java serverлерин codeдогондор үчүн тандоо керек, бирок сиз IntelliJ IDEA Ultimate программасын бекер же чоң арзанdateу менен ала тургандардын категориясына кирбесеңиз (студенттер же ачык булакты иштеп жаткан программисттер) долбоору).

"Жарык" Java IDE

Бүгүнкү күндө көпчүлүк Java иштеп чыгуучулары IDEA, NetBeans же Eclipse колдонушат, бирок кээде Java плагиндерин колдогон Sublime Text, emacs же vim сыяктуу жеңorрээк иштеп чыгуу чөйрөлөрүнө же ал тургай code редакторлоруна муктаждык бар. Мен бир аз жеңorрээк нерсени издегендер үчүн төмөнкү акылга сыярлык варианттарды тизмектедим:
  • DrJava — небольшая бесплатная среда разработки. Её создали для студентов Университета Райса, и она стала довольно популярной: DrJava загрузor уже более 2 млн раз. DrJava призвана развивать разработку, основанную на тестировании (test-driven development). Среда содержит «умный» редактор codeа, панель взаимодействия для оценки codeа applications, отладчик уровня источника и инструменты модульного тестирования.
  • BlueJ бесплатная среда разработки Java, созданная специалистами Кентского университета для начинающих программистов. Эта среда поддерживается Oracle. BlueJ отличается гораздо более лаконичным и простым интерфейсом, чем профессиональные IDE, такие, How NetBeans or Eclipse, и даже содержит специальный учебник по основам ООП.
  • JCreator — ещё одна небольшая Java IDE для Windows, написанная на C++ (из соображений увеличения производительности). Платная version Pro оснащена отладчиком, поддержкой Ant и code wizards, ну а бесплатная version (LE) — нет.
  • Eclipse Che — браузерная облачная IDE: Java, C++, JavaScript, Python, PHP, Ruby и SQL — список языков, которые она поддерживает. .

Выбор Java IDE в зависимости от проекта

Мен үч эң маанилүү Java IDEнин ар биринин маанилүү артыкчылыктарын сүрөттөөгө аракет кылдым жана алардын пайдалуу кичинекей атаандаштарын кыскача айтып өттүм. Туура Java иштеп чыгуу чөйрөсүн тандоо үчүн, сиз жакшы жана жаман жактарын таразалап, аларды өзүңүздүн муктаждыктарыңызга жана долбоорлоруңуздун муктаждыктарына дал келтиришиңиз керек. Эгер сиз командага кошулуп жатсаңыз, анда талап кылынбаса да, башка иштеп чыгуучулар сыяктуу эле IDE колдонуу жакшы идея. Эгерде сиздин командаңыз GitHub'да булактарды жайгаштырса, IDE GitHub'ду колдосо, албетте, ыңгайлуураак болот. Ооба, сиз GitHub кардарын же git буйрук сабын колдонуп, codeду IDEсиз өткөрө аласыз. Бирок ар кандай системалардын ортосундагы мындай секирүү канчалык натыйжалуу болот? Бул IDE куруу системасын колдоо да маанилүү болуп саналат. Мисалы, эгерде бул Maven болсо, жергorктүү тестирлөө үчүн Ant системасын кайра курууну каалабайсыз. Бактыга жараша, үч чоң Java IDE тең кутудан тышкары же плагин менен Ant, Maven жана Gradle колдойт. Бирок "кичинекей" IDE үчүн бул туура эмес болушу мүмкүн. Бул долбоордо колдонулган JRE versionсын колдоону өнүктүрүү чөйрөсү үчүн табигый каалоо. Эгерде versionлар дал келбесе, көптөгөн кошумча мүчүлүштүктөрдү алуу ыктымалдыгы жогору, алар, мисалы, сизде пайда болот, бирок команданын башка мүчөлөрүндө эмес. Мындай кырдаал кармага жакшы таасирин тийгизиши күмөн. Чынын айтканда, JRE дал келбөөчүлүк IDE Javaнын жаңы versionсына жаңыртыла элек болсо, IDE колдоосунун жоктугуна караганда конфигурация каталарынан улам келип чыгышы ыктымал. Эгерде сиздин IDE долбоордо колдонулган алHowтарды жана технологияларды толугу менен колдосо, бул ишти тездетүүгө жардам берет деп ишениңиз. Сиз баары бир аны башкара аласыз. Бирок, эгер IDE JPA билдирүүлөрүнүн JPA an objectилерине жана экспрессия класстарына (мисалы, IntelliJ) кандай байланышы бар экенин түшүнсө, анда сиз JPA-байланыштуу codeду такыр туура эмес түшүнгөнүңүзгө караганда азыраак убакыт коротосуз. Ооба, эгерде IDE тестирлөө негизин жана долбоор үчүн колдонулган code аткаруучуну колдосо, сиз иш чөйрөсүн өзгөртпөстөн тесттерди жүргүзө аласыз. Бул дагы өнүгүү процессин тездетет. Акыр-аягы, IDE долбоордун мүчүлүштүктөрдү көзөмөлдөө жана билет системасы менен шайкеш келсе, иш тезирээк жүрөт. Дагы бир жолу, сиз өз алдынча же веб-кардарларды колдонсоңуз болот, мисалы JIRA, бирок билеттерди текшерүү IDEде түздөн-түз калып, терезени өзгөртпөстөн бир топ тезирээк болоруна макул болуу кыйын.

Акысызбы же акы төлөнүүчүбү?

IntelliJ IDEA Ultimate сынап көргөндөн кийин мен туура өнүгүү чөйрөсүн сездим. IDE дүйнөсүндөгү Кадиллактын бир түрү. Мен так айта албайм, IDEA Java үчүн эң жакшы IDE, бирок мен үчүн ушундай. Дагы бир жолу, ал бекер болбосо да, аны колдонуудан өндүрүмдүүлүктүн жогорулашы жылдык жазылууга татыктуу деп ойлойм. Жылдык IntelliJ IDEA Ultimate жазылуусун төлөй албаган үйрөнчүктөр үчүн мен Eclipse эмес, NetBeans колдонууну сунуштайм. Албетте, бүгүнкү күндө Eclipse плагиндеринин экосистемасы башка IDEлерге караганда алда канча өнүккөн, бирок ал абдан өсүп кеткен жана жараксыз: жаңы баштаган иштеп чыгуучу IDE, Java джунглисинде тыгылып калуу коркунучу бар жана жумушка чөмүлүү фонго өтүп кетет. . ошондой эле «жеңил» альтернативаларга токтолду, алардын экөө атайын бorм берүү максатында иштелип чыккан. Эгер сиз жаңыдан тил үйрөнүп, минималисттик чөйрөнү жактырсаңыз, анда эмне үчүн?
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION