JavaRush /Java blogi /Random-UZ /Eclipse, NetBeans yoki IntelliJ IDEA? Java rivojlantirish...
Bender
Daraja
Маунтин-Вью

Eclipse, NetBeans yoki IntelliJ IDEA? Java rivojlantirish uchun IDE tanlash

Guruhda nashr etilgan
Eclipse, NetBeans yoki IntelliJ IDEA?  Java rivojlantirish uchun IDE tanlash - 1Sizning e'tiboringizga JavaWorld resursi dasturchisi va muharriri Martin Xellerning maqolasining moslashuvini taqdim etamiz. Ehtimol, siz Java-ni ishlab chiqish uchun eng mashhur uchta IDE haqida eshitgansiz. Sanoat dasturchilarining 90 foizi Eclipse, NetBeans yoki IntelliJ IDEA-dan foydalanadilar va bu IDElarning har biri o'zining afzalliklari va kamchiliklariga ega. Ushbu maqolada biz ularni tasvirlashga harakat qilamiz, shunda siz qaysi biri sizga mos kelishini tushunasiz. Garchi, albatta, uchalasini ham ishda sinab ko'rish va sizga mos keladigan narsani aniqlash yaxshiroqdir. Hech qanday sharh buni o'rnini bosa olmaydi.

Rivojlanish muhiti nima?

Juda qisqa javob shundaki, ishlab chiqish muhiti - bu dasturlarni yaratish uchun foydalanadigan dastur yoki bir nechta dasturlar. Bu jarayon aslida kodni yozish, disk raskadrovka, ishga tushirish va versiyalarni boshqarish tizimlari bilan integratsiyani o'z ichiga oladi. Agar ilgari ishlab chiquvchilar ko'pincha Notepad va buyruq qatori kabi oddiy matn muharriridan (ba'zan hatto sintaksisini ajratib ko'rsatmasdan) foydalangan bo'lsalar, endi ular ko'pincha yaxlit protsessorlar, integratsiyalashgan ishlab chiqish muhitlari yoki IDE-lardan foydalanadilar.

IDE nima?

Integratsiyalashgan ishlab chiqish muhiti yoki ingliz tilida Integratsiyalashgan rivojlanish muhiti - IDE - bu dasturiy ta'minotni ishlab chiqish vositalarini o'z ichiga olgan dastur. Odatda, zamonaviy rivojlanish muhiti quyidagilarni o'z ichiga oladi:
  • Kodni ajratib ko'rsatish bilan matn muharriri;
  • kompilyator yoki tarjimon;
  • Sinf brauzeri, obyekt inspektori va sinf ierarxiyasi diagrammasi;
  • yig'ish avtomatlashtirish vositalari;
  • tuzatuvchi;
  • versiyalarni boshqarish tizimlari (Git) bilan integratsiyalash vositalari;
  • grafik foydalanuvchi interfeysi dizaynini soddalashtirish vositalari.
Men ilgari ushbu IDElar bilan ishlaganman, ammo bu tadqiqot uchun IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE va NetBeans 8.1 Java EE ni MacBook Pro noutbukiga o'rnatdim. Men IDE-ni bir nechta ochiq manbali Java loyihalarida sinab ko'rdim.

IDE dan nimani kutish kerak

"Sog'lom Java dasturchisi" uchun zamonaviy IDE Java 8, Scala, Groovy va u muntazam foydalanadigan boshqa Java virtual mashina tillarini qo'llab-quvvatlashi kerak. Asosiy dastur serverlarini va eng mashhur veb-ramkalarni, jumladan Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails va Vaadinni qo'llab-quvvatlash ham foydali bo'ladi. IDE Git, SVN, CVS, Mercurial yoki Bazaar bilan bir qatorda Ant, Maven yoki Gradle kabi har qanday versiya boshqaruv tizimlariga mos kelishi kerak. Bundan tashqari, ishlab chiqish muhiti uchun ma'lumotlar bazalari va stekingizning mijoz qatlami bilan ishlay olish, o'rnatilgan JavaScript, TypeScript, HTML, SQL, JavaServer Pages, Hibernate, shuningdek Java Persistence-ni qo'llab-quvvatlash muhimdir. API. Va nihoyat, IDE sizga keraksiz stresslarsiz tizimlarni tahrirlash, yaratish, disk raskadrovka va sinovdan o'tkazish imkonini beradi, deb umid qilish mantiqan to'g'ri. Ideal holda, ishlab chiqish muhiti nafaqat aqlli kodni to'ldirishni, balki aqlli refaktoring va kod ko'rsatkichlarini ham qo'llab-quvvatlaydi. Ko'pgina hollarda, test ramkalari va stublarni qo'llab-quvvatlash foydali bo'ladi. Agar sizning jamoangiz chipta tizimi va CI/CD dan foydalansa, ularga ulanish uchun sizga IDE kerak bo'ladi. Va konteynerlarda va bulutlarda joylashtirish va disk raskadrovka kerakmi yoki yo'qligini hal qiling. Biz faqat asosiy taxminlarni sanab o'tdik (ehtimol, qo'shadigan narsangiz bor) va endi raqobatchilarimizni batafsil ko'rib chiqaylik.

IntelliJ IDEA

Eclipse, NetBeans yoki IntelliJ IDEA?  Java rivojlantirish uchun IDE tanlash - 2Funksiyalar va narx nuqtai nazaridan IntelliJ IDEA ikkita versiyada taqdim etiladi: bepul Community nashri va kengaytirilgan funksionallikka ega pullik Ultimate nashri. Jamiyat nashri JVM va Androidni ishlab chiqish uchun mo'ljallangan. Bepul versiya Java, Kotlin, Groovy va Scala-ni qo'llab-quvvatlaydi; Android; Maven, Gradle va SBT; Git, SVN, Mercurial va CVS versiyalarni boshqarish tizimlari bilan ishlaydi. Ultimate nashri veb va korporativ rivojlanish uchun javob beradi. IDE ning ushbu versiyasi nafaqat Git, SVN, Mercurial va CVS, balki Perforce, ClearCase va TFS bilan ham ishlaydi; unda siz JavaScript va TypeScript da yozishingiz mumkin; Tabiiyki, Java EE, Spring, GWT, Vaadin, Play, Grails va boshqa bir qator ramkalar qo'llab-quvvatlanadi. Va, albatta, biz SQL va ma'lumotlar bazalari bilan ishlash vositalarisiz qilolmasdik. Narx siyosatini shakllantirishda ushbu IDEni ishlab chiquvchilarga rahbarlik qiladigan g'oya shundan iboratki, uning tijorat versiyasi (Ultimate) professionallar kompyuterlarida o'z o'rnini egallaydi, buning natijasida ularning mahsuldorligi oshadi. Agar Java dasturchisi yiliga 50 ming dollar (yoki undan ham ko'proq) ishlasa, pullik IDE IntelliJ IDEA (yillik obuna uchun 500 dollar) uchun sarflangan sarmoyadan qaytish uning ishini biroz tezlashtirish tufayli juda tez sodir bo'ladi. Keyingi yillarda biznes uchun narx tushadi, startaplar va frilanserlar uchun bu sezilarli darajada past, talabalar, o'qituvchilar, Java chempionlari va ochiq kodli dasturchilar uchun esa butunlay bepul. IntelliJ IDEA o'zining chuqur kod tushunishi, aqlli ergonomikasi, o'rnatilgan ishlab chiqish xususiyatlari va ko'p tilli qo'llab-quvvatlashi bilan hayratda qoldiradi. Eclipse, NetBeans yoki IntelliJ IDEA?  Java rivojlantirish uchun IDE tanlash - 3
Shakl 1. IntelliJ IDEA Java kodining statistik tahliliga asoslangan ogohlantirishlar va taxminlar sonini ko'rsatadi. Rasmda ko'rsatilganidek, siz taxminlarni bosish orqali batafsilroq o'rganishingiz mumkin; ko'p hollarda tanlov va tuzatish variantlari bilan ro'yxatni olasiz.

Kodni chuqur tushunish

Sintaksisni ajratib ko'rsatish va oddiy kodni to'ldirish har qanday zamonaviy Java muharrirlari uchun odatiy holdir. IDEA "aqlli avtoto'ldirish" ni taklif qilish orqali oldinga siljidi. Bu atama ishlab chiqish muhiti ma'lum kontekstda qo'llaniladigan eng mos belgilar ro'yxatini ko'rsatishini anglatadi. Belgilar ro'yxati nafaqat "umumiy qabul qilingan" kontekstga, balki ishlab chiquvchining dasturlash uslubiga, u ma'lum operatorlardan qanchalik tez-tez foydalanishiga bog'liq. "Zanjirni yakunlash" hatto joriy kontekstda usullar yoki qabul qiluvchilar orqali ruxsat etilgan tegishli belgilar ro'yxatini ham ko'rsatadi. Bundan tashqari, statik a'zolar yoki konstantalar uchun IDEA avtomatik ravishda barcha kerakli import bayonotlarini qo'shadi. Avtoto'ldirishning barcha holatlarida IDEA ish vaqtida ramz turini taxmin qilishga, uning tanlovini aniqlashtirishga va kerak bo'lsa, turni qo'llashga harakat qiladi. Java kodi ko'pincha satrlar sifatida boshqa tillardan parchalarni o'z ichiga oladi. IDEA SQL, XPath, HTML, CSS yoki JavaScript kodlarini Java string literallariga kiritishi mumkin. Shu ma'noda, IDE bir nechta tillarda kodni qayta tiklashi mumkin. Misol uchun, agar siz JPA xaritasida sinf nomini o'zgartirsangiz, IDEA tegishli JPA ob'ekti va ifoda sinfini yangilaydi. Kod parchasini qayta tiklashda ishlab chiquvchi bitta (juda tabiiy) istagiga ega: ushbu kodning barcha dublikatlari ham refaktoratsiya qilinishi kerak. IDEA Ultimate dublikatlarni va shunga o'xshash fragmentlarni topadi va ularga refaktoringni ham qo'llaydi. IntelliJ IDEA kodni yuklagandan so'ng va uni kiritishingiz bilan to'g'ridan-to'g'ri tahlil qiladi. U shubhali muammolarni ko'rsatadi (yuqoridagi rasmda bo'lgani kabi) va ixtiyoriy ravishda topilgan muammolarni tezda hal qilish ro'yxatini taklif qiladi.

Ergonomika

Eclipse, NetBeans yoki IntelliJ IDEA?  Java rivojlantirish uchun IDE tanlash - 4IntelliJ IDEA ishlab chiquvchini u allaqachon mavjud bo'lganidan keyin unumdorlik holatidan chiqarib yubormaslik uchun ishlab chiqilgan. Chapdagi birinchi rasmda ko'rsatilgan Loyiha oynasi dasturchi diqqatini kod muharriri oynasiga qaratishi uchun sichqonchani oddiy bosish bilan yo'qoladi. Kod yozishda zarur bo'lgan barcha harakatlar uchun ularni tezda chaqirish uchun tugmalar birikmalari mavjud, shu jumladan qalqib chiquvchi oynalarda belgilarni aniqlash. Avvaliga bu kombinatsiyalarning barchasini eslab qolish qiyin, lekin asta-sekin siz ularga ko'nikasiz va faqat ulardan foydalanasiz. Biroq, dasturchi klaviatura yorliqlaridan foydalanmasa ham, amaliyot shuni ko'rsatadiki, u IDEA-da oson va tez ishlashga o'rganib qoladi. IDEA tuzatuvchisiga alohida e'tibor qaratmoqchiman: o'zgaruvchan qiymatlar to'g'ridan-to'g'ri tahrirlovchi oynasida, mos keladigan manba kodining yonida ko'rsatiladi. O'zgaruvchining holati o'zgarganda, ta'kidlash rangi ham o'zgaradi.

O'rnatilgan asboblar

IntelliJ IDEA ko'pgina versiyalarni boshqarish tizimlari, jumladan Git, SVN, Mercurial, CVS, Perforce va TFS uchun yagona interfeysni taqdim etadi. O'zgarishlarni bevosita IDEda boshqarishingiz mumkin, bu juda qulay. IDEA-ni sinab ko'rganimda, manba kodidagi so'nggi o'zgarishlar muharrir oynasida izoh sifatida ko'rsatilishini xohlardim (masalan, Visual Studio'da bo'lgani kabi). Ma'lum bo'lishicha, IDEA buning uchun maxsus plaginga ega. IDEA, shuningdek, qurish vositalari, sinov muddati, qamrov vositalari va o'rnatilgan terminal oynasi bilan birga keladi. IntelliJ-ning o'z profili yo'q, ammo plaginlar yordamida unga uchinchi tomon profillarini ulash mumkin. Masalan, JetBrainsning sobiq yetakchi ishlab chiquvchisi tomonidan yaratilgan YourKit yoki VisualVM (bu NetBeans profilerining qayta paketlangan versiyasi). Java-da disk raskadrovka sizda manba bo'lmagan sinflarda har xil sirli narsalar sodir bo'lganda og'riqli bo'lishi mumkin. IDEA bunday holatlar uchun dekompilyatorni o'z ichiga oladi. Java-da server tomonida dasturlash ma'lumotlar bazalari bilan tez-tez o'zaro aloqada bo'lishni talab qiladi, shuning uchun IDEA Ultimate dasturchilari SQL va ma'lumotlar bazalari bilan ishlash vositalarining qulayligini qadrlashadi. Ammo agar ularning imkoniyatlari kimdir uchun etarli bo'lmasa, siz IDEA Ultimate versiyasini o'rnatilgan SQL IDE (DataGrip) bilan sotib olishingiz mumkin. Biroq, bu oddiy IDEA Ultimate obunasidan biroz qimmatroq bo'ladi. IntelliJ IDEA barcha asosiy JVM dastur serverlarini qo'llab-quvvatlaydi va sizga ushbu serverlarda joylashtirish va disk raskadrovka qilish imkonini beradi, bu esa barcha Java Enterprise dasturchilariga tanish bo'lgan qiyinchiliklarni bartaraf etadi. IDEA, shuningdek, Docker-ni qo'llab-quvvatlaydi (ishlab chiqish muhitiga maxsus Docker asboblari oynasini qo'shadigan plagin orqali. Darvoqe, IDEA juda ko'p plaginlarga ega.  

Haqiqiy poliglot

IDEA Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS va boshqa ramkalar uchun kengaytirilgan kod yordamini taqdim etdi. Ehtimol, ularning hammasi ham Java-ga xos emasligini payqagandirsiz. IDEA boshqa tillarni - Groovy, Kotlin, Scala, JavaScript, TypeScript va SQLni "tushunadi". Agar ushbu roʻyxatda siz qidirayotgan tilni koʻrmasangiz, hozirda 19 ta IntelliJ til plaginlari mavjud, xususan, R, Elm va D-ni qoʻllab-quvvatlaydi.

Eclipse IDE

Eclipse, NetBeans yoki IntelliJ IDEA?  Java rivojlantirish uchun IDE tanlash - 5 Taxminan 10 yil oldin, eng yaxshi IDE haqida so'ralganda, Java dasturchisi ishonchli javob berdi: Eclipse. Ko'p yillar davomida ushbu rivojlanish muhiti Java IDE-lar orasida ishonchli tarzda o'zini tutdi. Bu muhit butunlay bepul, ochiq manba bo'lib, asosan Java-da yozilgan. Biroq, uning modulli arxitekturasi Eclipse-dan boshqa tillar bilan foydalanishga imkon beradi. IBM tomonidan boshlangan Eclipse loyihasi 2001 yilda paydo bo'lgan. Ular Smalltalk asosidagi IBM Visual Age ishlab chiqish muhitlari oilasini almashtirishni xohlashdi. Xo'sh, asosiy maqsad, hatto nomidan ham ko'rinib turibdiki, Microsoft Visual Studio'dan ustun turish edi (ingliz tilida tutilish - tutilish degan ma'noni anglatadi). Java-ning portativligi Eclipse-ga platformalararo muhit bo'lishiga yordam beradi: bu IDE Linux, Mac OS X, Solaris va Windows-da ishlaydi. Yaxshimi yoki yomonmi, Java Standard Widget Toolkit (SWT) Eclipse ko'rinishi va hissi uchun hech bo'lmaganda qisman javobgardir. Eclipse o'zining ishlashi (yoki ba'zi xayrixohlar aytganidek, etishmasligi) JVMga qarzdor. Eclipse juda sekin ishlaydi, chunki u ancha eski apparat va JVM ning qadimiy versiyalariga asoslangan. Hatto bugungi kunda ham u sekin ko'rinadi, ayniqsa siz unga ko'plab plaginlarni biriktirsangiz. Eclipse resurslarining bir qismi uning o'rnatilgan qo'shimcha kompilyatoriga bog'liq bo'lishi mumkin, u har safar fayl yuklanganda yoki kod yangilanganda ishlaydi. Bu foydali narsa; matn kiritishda xatolarni ushlaydi. Qurilishdan qat'i nazar, Eclipse loyihasi Java elementlarining turlari, havolalari va deklaratsiyalari ierarxiyasi haqida ma'lumotni o'z ichiga olgan kontent modelini saqlaydi. Eclipse ning joriy versiyasi Neon (4.6.0) deb nomlanadi. Men veb-ishlab chiquvchilar uchun Eclipse Java EE IDE-ni o'rnatdim (bu yagona variant emas, siz boshqa narsani tanlashingiz mumkin). Unda minimal Eclipse SDK mavjud va plaginlar talabga binoan qo'shiladi. Aytgancha, ushbu IDE-da plaginlar bilan ishlash yurakning zaifligi uchun emas. Uchinchi tomon plaginlari ko'pincha bir-biriga zid keladi, garchi ularning rasmiy xususiyatlari bu haqda hech narsa aytmaydi. Eclipse, NetBeans yoki IntelliJ IDEA?  Java rivojlantirish uchun IDE tanlash - 6
2-rasm. Chapdan o'ngga to'rtta Eclipse asboblar paneli mavjud: Package Explorer, Java Editor, Java Class Structure va Task List. Ushbu rasmda Eclipse-ga yuklangan loyiha JUnit test tizimidir. Panellarni osongina almashtirish mumkin.

Plaginni qo'llab-quvvatlash

Eclipse plaginlari ekotizimi ham IDE ning kuchi, ham uning asosiy muammolaridan biridir. Plaginlarning mos kelmasligi tufayli ba'zida butun yig'ilishlar ishdan chiqadi va dasturchilar qaytadan ishni boshlashlari kerak. Hozirda Eclipse uchun rasmiy va norasmiy 1700 dan ortiq plaginlar yozilgan, ular yaxshi ishlashi mumkin yoki bo'lmasligi mumkin. Eclipse plaginlari 100 dan ortiq dasturlash tillari va deyarli 200 ta dastur ishlab chiqish ramkalarini qo'llab-quvvatlaydi. Ko'pgina Java serverlari ham qo'llab-quvvatlanadi: agar siz Eclipse-dan yangi server ulanishini belgilasangiz, siz 30 ga yaqin dastur serverlarini topadigan sotuvchi papkalari ro'yxatiga o'tasiz. Faqat to'qqiztagacha Apache Tomcat varianti bo'ladi. Tijorat sotuvchilari o'z yechimlarini birlashtirishga moyildirlar: masalan, faqat bitta Red Hat JBoss Middleware elementi mavjud va uning ichida siz WildFly va EAP server vositalarini, shuningdek JBoss AS ni topasiz.

Tahrirlash, refaktoring va disk raskadrovka

Eclipse bilan birinchi tajribangiz chalkash va hatto chalkash bo'lishi mumkin. Birinchi qadam Eclipse-ni o'rnatish va uning ish joylari, ko'rinishlari va ko'rinishlarining kontseptual arxitekturasiga ko'nikishdir. Bularning barchasi siz o'rnatgan plaginlar bilan belgilanadi. Server tomonida Java dasturini ishlab chiqish uchun siz Java, Java EE va Java koʻrish koʻrinishlaridan, Package Explorer koʻrinishidan, disk raskadrovka koʻrinishidan, veb-vositalar buyruqlarini sinxronlashtirish koʻrinishidan, maʼlumotlar bazasini ishlab chiqish koʻrinishidan va maʼlumotlar bazasini tuzatish koʻrinishidan foydalanasiz. Amalda, kerakli oynalarni ochganingizda hamma narsa mantiqiy bo'ladi. Eclipse deyarli har doim muayyan muammoni hal qilishning bir necha usullarini taklif qiladi. Misol uchun, siz Java ko'rish istiqbolidan foydalanib kodni ko'rishingiz mumkin. Nimani tanlash - bu ta'm va tanlov masalasi. Maxsus Java qidiruvi sizga Java paketlari, turlari, usullari, maydonlarining deklaratsiyasi, havolalari va hodisalarini topish imkonini beradi. Bundan tashqari, tezkor qidiruvga kirish va oldindan ko'rishdan foydalanishingiz mumkin. Kod shablonlaridan umumiy kod naqshlari yaratilishi mumkin. Eclipse-da Java Refactoring 23 ta operatsiyani qo'llab-quvvatlaydi, ular umumiy nomlarni o'zgartirish operatsiyalaridan unchalik aniq bo'lmagan o'zgarishlargacha (Martin Faulerning kitobidagi kabi). Agar siz masofaviy disk raskadrovkani qo'llab-quvvatlaydigan JVM dan foydalansangiz, Eclipse ham mahalliy, ham masofaviy disk raskadrovkani qo'llab-quvvatlaydi. Nosozliklarni tuzatish juda standartdir: siz uzilish nuqtalarini aniqlaysiz va keyin disk raskadrovka yorlig'ida o'zgaruvchilarni ko'rasiz. Albatta, siz kodingizni bosib o'tishingiz va ifodalarni baholashingiz mumkin. Eclipse turli yoshdagi, qiymatlari va foydaliligi bo'yicha hujjatlarning keng ma'lumotlar bazasiga ega. Afsuski, ko'rsatmalarda joriy versiyaga mos kelmaydigan rasmni topish, masalan, eskirgan interfeys va tugmalar tartibi ushbu IDE uchun odatiy holdir. Afsuski, hujjatlarni kech yangilash muammosi har qanday manba kodi loyihalari uchun juda keng tarqalgan.

NetBeans

Eclipse, NetBeans yoki IntelliJ IDEA?  Java rivojlantirish uchun IDE tanlash - 7NetBeans 1996 yilda Pragada universitet talabalari loyihasi sifatida boshlangan. 1997 yilda IDE tijorat mahsulotiga aylandi va 1999 yilda Sun Microsystems (Java ota-onasi) tomonidan sotib olindi va keyingi yili ochiq manbali nashrni taqdim etdi. Joriy versiya 8.1 Windows, Mac OS X, Linux va Solaris operatsion tizimida ishlaydigan mashinalarda ishlaydi. Portativ paket Java mashinasi mavjud bo'lgan har qanday tizimda ishga tushirilishi mumkin. Men o'zim uchun Java EE to'plamini yuklab oldim, bu oltita mumkin bo'lgan yuklab olish paketlaridan biridir. Ushbu to'plam JavaScript va HTML, GlassFish va Tomcat-ni qo'llab-quvvatlaydi, lekin PHP, C/C++/Fortran, Groovy va Grails-ni qo'llab-quvvatlamaydi: ularni "All Inclusive" paketida (yoki oddiygina "Hammasi") olish mumkin. Ammo, agar xohlasam, istalgan vaqtda tegishli plaginni (yoki boshqa har qanday) tanlab, yuqoridagi tillarni qo'llab-quvvatlashni yuklab olishim mumkin. NetBeans-da Eclipse-ga qaraganda kamroq, lekin ular odatda bir-biriga zid kelmaydi. Bu kuzda Oracle (Sun Microsystems-ni sotib olgandan keyin NetBeans-ni sotib olgan) ushbu rivojlanish muhitini barcha huquqlar, manba kodi, savdo belgisi, "netbeans.org" domeni va boshqa bir qator infratuzilmalar bilan birga Apache Software Foundation qanoti ostiga o'tkazishga qaror qildi. elementlar. Shu sababli, loyihaning kelajagi hali ham noaniq, garchi tizim ilgari tegishli imtiyozlarga ega bo'lgan. Shunday qilib, NetBeans yangilangan platforma chiqqandan so'ng deyarli darhol Java 8-ni qo'llab-quvvatlagan va "Java 8 uchun rasmiy IDE" deb nomlangan. Biroq, chiqarilganidan bir oy o'tgach, bu afzallik yo'qoldi: o'sha paytda boshqa IDElar ham Java 8-ni qo'llab-quvvatladilar. Biroq, shuni ta'kidlamoqchimanki, NetBeans'ning Java 8 qo'llab-quvvatlashi juda yaxshi va IDE Java 8 fokuslarini "eski" kodga to'qish uchun juda yaxshi. Uning muharrirlari, kod analizatorlari va konvertorlari dasturchiga kodni Java 8 ga xos konstruksiyalar - lambda ifodalari, funksional operatorlar va usullarga havolalar yordamida yangilashda yordam beradi. NetBeans 8-dagi JavaScript plaginlari Node.js va Gulp va Mocha kabi so'nggi JavaScript vositalarini, shuningdek Nashorn JavaScript tarjimonini qo'llab-quvvatlashda ajoyib ishni bajaradi. Eclipse, NetBeans yoki IntelliJ IDEA?  Java rivojlantirish uchun IDE tanlash - 8
Shakl 3. Bu yerda NetBeans 1-rasmda IntelliJ IDEA ochilgan Maven-ga asoslangan loyihani ishga tushiradi. Kontekst menyusi va refaktoring pastki menyusidagi kengaytirilgan funksiyalarga e'tibor bering.

Tahrirlash va refaktoring

NetBeans Editor tillarni qo'llab-quvvatlaydi, siz yozayotganda xatolarni aniqlaydi va sizga maslahatlar va aqlli kodni to'ldirishda yordam beradi. Subyektiv tuyg'uga ko'ra, IDE bu vazifani Eclipse-ga qaraganda tezroq bajaradi, lekin IntelliJ IDEA-dan biroz sekinroq. Bundan tashqari, NetBeans refaktoring vositalarining to'liq to'plamiga ega (3-rasmda ko'rsatilganidek), bu dasturchiga kodni buzmasdan qayta qurish, manba tahlilini amalga oshirish imkonini beradi, shuningdek, tezkor tuzatishlar yoki kod kengaytmalari uchun keng ko'lamli maslahatlarni taklif qiladi. NetBeans Swing GUI dizayn vositasini o'z ichiga oladi, ilgari "Project Matisse" deb nomlanuvchi. Ishlab chiquvchilar NetBeans 7.1 da taqdim etilgan Inspect & Transform avtomatlashtirilgan refaktoring vositasini yuqori baholaydilar. Bu sizga loyiha kodini tahlil qilish va taklif qilingan yaxshilanishlarni amalga oshirish imkonini beradi. Shaxsan men o'zimning barcha kodlarimni avval birlik testlari bilan sinab ko'rishni afzal ko'raman va shundan keyingina tub o'zgarishlarni amalga oshiradigan vositalarni ishga tushiraman. Men bir necha bor tuzatib bo'lmaydigan oqibatlarga olib keladigan har qanday avtomatik tuzatishlardan azob chekdim.

Qurilish, disk raskadrovka va profil yaratish

NetBeans Maven va Ant uchun ajoyib mahalliy yordamga, shuningdek Gradle uchun plaginga ega. Maven loyihalari tizim tomonidan "mahalliy" deb hisoblanganini bilganimda juda xursand bo'ldim. Bu shuni anglatadiki, ularni import qilish o'rniga oddiygina ochish mumkin. NetBeans shuningdek, Maven bog'liqliklari uchun jozibali (va foydali) grafik displeyni o'z ichiga oladi. NetBeans Java tuzatuvchisi yomon emas, lekin u ba'zi ogohlantirishlar bilan birga keladi. Alohida vizual tuzatuvchi dasturchiga foydalanuvchi grafik interfeysining skrinshotlarini olish va JavaFX va Swing yordamida yaratilgan ilovalar interfeyslarini o'rganish imkonini beradi. NetBeans profili protsessor va xotira qanday ishlatilishini yanada aniqroq qiladi va xotira oqishini aniqlash uchun ajoyib vositalarga ega.

Qaysi Java IDE yaxshiroq? Gigantlar uchligini taqqoslash

Men yillar davomida barcha uchta IDE, Eclipse, NetBeans va IntelliJ IDEA dan sanab o'tilgan xronologik tartibda foydalanganman. Har safar boshqa IDE-ga o'tganimda, mahsuldorligim oshganini his qildim. Ammo IDEA mening yakuniy tanlovim ekanligiga qat'iy amin bo'lganimda ham, ba'zida qolgan ikkita IDEdan biriga qaytishga to'g'ri keldi. Bu, masalan, Eclipse Android rivojlanishini qo'llab-quvvatlovchi yagona vosita bo'lgan bir paytda (bugungi kunda Android Studio mavjud, Android uchun amaldagi rasmiy IDE, u IntelliJ IDEA-ga asoslangan). Albatta, uchta IDEning ham o'z muxlislari va dushmanlari bor. Men IntelliJ IDEA-ni yaxshi ko'radigan ko'plab Java dasturchilarini, shuningdek, Visual Studio C++ va C# sodiq muxlislarini bilaman. Ko'pincha, bu odamlar ish unumdorligi oshganidan xursand bo'lishadi va yillik obuna narxi IDEA ning pulli versiyasidan bir necha hafta foydalangandan so'ng qaytariladi. Biroq, NetBeans va Eclipse foydalanuvchilari ham ko'pincha o'z vositalariga biriktiriladi va nima uchun boshqa dasturchilar IDEA uchun pul to'lashga tayyor ekanliklariga hayron bo'lishadi. Men yangi Java dasturchilariga Eclipse'dan uzoqroq turishni maslahat beraman. Bu hali ham Java uchun eng mashhur IDE bo'lishiga qaramay, yangi boshlanuvchilar uchun qiyin: tizimni o'rnatish paytida ham, kundalik ish paytida ham Eclipse yovvoyi tabiatida adashib qolish oson. Eclipse barcha IDElar ichida eng keng plagin ekotizimiga ega va ayni shu plaginlarning mos kelmaydigan to‘plamini o‘rnatish tufayli ishdan chiqish ehtimoli yuqori. Afsuski, Eclipse-dan foydalanganda men bir necha marta ushbu IDE-ning boshqa buzilgan yig'ilishini olib tashlashga va "toza" to'plamni o'rnatishga majbur bo'ldim. NetBeans ko'pchilik ishlab chiquvchilar uchun yaxshi, u ajoyib profilga ega va men uni ba'zan ishlataman. Biroq, men IntelliJ IDEA Ultimate uchun to'lashni afzal ko'raman. Va NetBeans kelajagi hali ham noaniq. Asboblarni sotib olish uchun hali byudjetga ega bo'lmagan yangi Java dasturchilari uchun ularning ehtiyojlariga qarab NetBeans yoki IntelliJ IDEA Community Edition dan foydalanishni tavsiya qilaman. Birinchisi, Java serverlarini kodlash bilan shug'ullanadiganlar uchun tanlashga arziydi, lekin agar siz IntelliJ IDEA Ultimate-ni bepul yoki katta chegirma bilan oladiganlar toifasiga kirmasangiz (talabalar yoki ochiq manbani ishlab chiqayotgan dasturchilar) loyiha).

"Yengil" Java IDE

Bugungi kunda ko'pchilik Java dasturchilari IDEA, NetBeans yoki Eclipse-dan foydalanadilar, lekin ba'zida Java plaginlarini qo'llab-quvvatlaydigan Sublime Text, emacs yoki vim kabi engilroq ishlab chiqish muhitlariga yoki hatto kod muharrirlariga ehtiyoj seziladi. Men biroz engilroq narsani qidirayotganlar uchun quyida oqilona variantlarni sanab o'tdim:
  • 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 в зависимости от проекта

Men uchta eng muhim Java IDE-ning har birining muhim afzalliklarini tasvirlashga harakat qildim va ularning foydali raqiblarini qisqacha aytib o'tdim. To'g'ri Java ishlab chiqish muhitini tanlash uchun siz ijobiy va salbiy tomonlarini tortishingiz va ularni ehtiyojlaringiz va loyihalaringiz ehtiyojlariga moslashtirishingiz kerak. Agar siz jamoaga qo'shilayotgan bo'lsangiz, boshqa ishlab chiquvchilar bilan bir xil IDE dan foydalanish yaxshidir, lekin bu shart emas. Agar sizning jamoangiz GitHub-da manbalarga ega bo'lsa, IDE GitHub-ni qo'llab-quvvatlasa, bu tabiiy ravishda qulayroq bo'ladi. Ha, siz GitHub mijozi yoki git buyruq qatori yordamida IDEsiz kod uzatishni boshqarishingiz mumkin. Ammo turli tizimlar orasidagi bunday sakrashlar qanchalik samarali bo'ladi? IDE qurilish tizimini qo'llab-quvvatlashi ham muhimdir. Misol uchun, agar u Maven bo'lsa, mahalliy sinov uchun Ant-da tizimni qayta qurishni xohlamaysiz. Yaxshiyamki, uchta katta Java IDE ham Ant, Maven va Gradle-ni qutidan tashqarida yoki plagin bilan qo'llab-quvvatlaydi. Ammo "kichik" IDElar uchun bu to'g'ri bo'lmasligi mumkin. Loyihada qo'llaniladigan JRE versiyasini qo'llab-quvvatlash rivojlanish muhitining tabiiy istagi. Agar versiyalar mos kelmasa, ko'plab qo'shimcha xatolarni olish ehtimoli yuqori, ular, masalan, sizda paydo bo'ladi, lekin boshqa jamoa a'zolarida emas. Bunday vaziyat sizning karmangizga yaxshi ta'sir qilishi dargumon. Ochig'ini aytganda, JRE nomuvofiqligi, agar IDE hali Java-ning yangi versiyasiga yangilanmagan bo'lsa, IDE-ni qo'llab-quvvatlamaslikdan ko'ra konfiguratsiya xatolari tufayli yuzaga kelishi ehtimoli ko'proq. Ishonchim komilki, agar sizning IDE loyihada ishlatiladigan ramkalar va texnologiyalarni to'liq qo'llab-quvvatlasa, bu haqiqatan ham ishni tezlashtirishga yordam beradi. Siz baribir uni boshqara olasiz. Ammo, agar IDE JPA bayonotlarining JPA ob'ekti va ifoda sinflari (masalan, IntelliJ) bilan qanday bog'liqligini tushunsa, siz JPA bilan bog'liq kodga butunlay noto'g'ri tushunganingizdan ko'ra kamroq vaqt sarflaysiz. Xo'sh, agar IDE test tizimi va loyiha uchun ishlatiladigan kod ijrochini qo'llab-quvvatlasa, siz ish muhitini o'zgartirmasdan testlarni o'tkazishingiz mumkin. Bu ham rivojlanish jarayonini tezlashtiradi. Va nihoyat, agar IDE loyihaning xatolarni kuzatish va chiptalar tizimiga mos kelsa, ish tezroq ketadi. Shunga qaramay, JIRA deylik, mustaqil yoki veb-mijozdan foydalanishingiz mumkin, ammo chiptalarni tekshirish oynani o'zgartirmasdan, to'g'ridan-to'g'ri IDEda qolib, ancha tezroq bo'lishiga rozi bo'lish qiyin.

Bepulmi yoki pullikmi?

IntelliJ IDEA Ultimate-ni sinab ko'rganimdan so'ng, men to'g'ri rivojlanish muhitini his qildim. IDE dunyosining bir turi Cadillac. Men aniq aytmayman, IDEA Java uchun eng yaxshi IDE, lekin men uchun shunday. Shunga qaramay, u bepul bo'lmasa-da, menimcha, undan foydalanish natijasida hosildorlik yillik obunaga arziydi. Yillik IntelliJ IDEA Ultimate obunasini sotib olishga qurbi yetmaydigan yangi boshlanuvchilar uchun men Eclipse o'rniga NetBeans dan foydalanishni tavsiya qilaman. Albatta, bugungi kunda Eclipse plaginlarining ekotizimlari boshqa IDE-larga qaraganda ancha rivojlangan, ammo u juda o'sib chiqqan va tartibsiz: yangi ishlab chiquvchi IDE, Java o'rmonida qolib ketish xavfini tug'diradi va ishga sho'ng'ish fonga o'tadi. . shuningdek, "engil" muqobillarga to'xtalib o'tdi, ulardan ikkitasi ta'lim maqsadlari uchun maxsus ishlab chiqilgan. Xo'sh, agar siz endigina tillarni o'rganishni boshlayotgan bo'lsangiz va minimalist muhitni afzal ko'rsangiz, nega shunday emas?
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION