JavaRush /Java Blogu /Random-AZ /Eclipse, NetBeans və ya IntelliJ IDEA? Java inkişafı üçün...
Bender
Səviyyə
Маунтин-Вью

Eclipse, NetBeans və ya IntelliJ IDEA? Java inkişafı üçün IDE seçimi

Qrupda dərc edilmişdir
Eclipse, NetBeans və ya IntelliJ IDEA?  Java inkişafı üçün IDE seçimi - 1JavaWorld resursunun proqramçı və redaktoru Martin Hellerin məqaləsinin uyğunlaşdırılmasını diqqətinizə təqdim edirik. Yəqin ki, Java inkişafı üçün ən populyar üç IDE haqqında artıq eşitmisiniz. Sənaye proqramçılarının 90 faizi ya Eclipse, NetBeans və ya IntelliJ IDEA-dan istifadə edir və bu IDE-lərin hər birinin öz üstünlükləri və mənfi cəhətləri var. Bu yazıda hansının sizin üçün uyğun olduğunu başa düşməyiniz üçün onları təsvir etməyə çalışacağıq. Baxmayaraq ki, əlbəttə ki, hər üçünü işdə sınamaq və sizin üçün ən uyğun olanı tapmaq daha yaxşıdır. Heç bir baxış bunu əvəz edə bilməz.

İnkişaf mühiti nədir?

Çox qısa cavab budur ki, inkişaf mühiti proqramlar yaratmaq üçün istifadə etdiyiniz proqram və ya bir neçə proqramdır. Bu prosesə əslində kodun yazılması, sazlanması, işə salınması və versiyaya nəzarət sistemləri ilə inteqrasiyası daxildir. Əgər əvvəllər tərtibatçılar tez-tez Notepad və komanda xətti kimi sadə mətn redaktorundan (bəzən hətta sintaksisi vurğulamadan) istifadə edirdilərsə, indi onlar çox vaxt hamısı bir yerdə prosessorlardan, inteqrasiya olunmuş inkişaf mühitlərindən və ya IDE-lərdən istifadə edirlər.

IDE nədir?

İnteqrasiya edilmiş inkişaf mühiti və ya ingilis dilində İnteqrasiya edilmiş inkişaf mühiti - IDE - proqram təminatının inkişafı üçün alətləri ehtiva edən proqramdır. Tipik olaraq, müasir inkişaf mühitinə aşağıdakılar daxildir:
  • Kod vurğulayan mətn redaktoru;
  • kompilyator və ya tərcüməçi;
  • Sinif Brauzeri, Obyekt Müfəttişi və Sinif İerarxiya Diaqramı;
  • montaj avtomatlaşdırma vasitələri;
  • sazlayıcı;
  • versiyaya nəzarət sistemləri ilə inteqrasiya alətləri (Git);
  • qrafik istifadəçi interfeysinin dizaynını sadələşdirmək üçün alətlər.
Mən əvvəllər bu IDE-lərlə işləmişəm, lakin bu araşdırma üçün IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE və NetBeans 8.1 Java EE-ni MacBook Pro noutbukunda quraşdırmışam. IDE-ni bir neçə açıq mənbəli Java layihəsində sınaqdan keçirdim.

IDE-dən nə gözləmək olar

“Sağlam Java tərtibatçısı” üçün müasir IDE Java 8, Scala, Groovy və onun müntəzəm istifadə etdiyi digər Java virtual maşın dillərini dəstəkləməlidir. Əsas proqram serverlərinə və Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails və Vaadin daxil olmaqla ən populyar veb çərçivələrə dəstək də faydalı olardı. IDE, Git, SVN, CVS, Mercurial və ya Bazaar ilə birlikdə Ant, Maven və ya Gradle kimi istənilən versiya idarəetmə sistemi quruluşlarına uyğun olmalıdır. Əlavə olaraq, inkişaf mühiti üçün verilənlər bazası və yığınınızın müştəri təbəqəsi ilə işləməyi bacarmaq, daxili JavaScript, TypeScript, HTML, SQL, JavaServer Pages, Hibernate, eləcə də Java Persistence üçün dəstəyin olması vacibdir. API. Nəhayət, ümid etmək məntiqlidir ki, IDE sizə lazımsız stress olmadan sistemləri redaktə etməyə, yaratmağa, debug etməyə və sınaqdan keçirməyə imkan verəcək. İdeal olaraq, inkişaf mühiti yalnız ağıllı kodu tamamlamağı deyil, həm də ağıllı refaktorinq və kod ölçülərini dəstəkləyir. Bir çox hallarda test çərçivələrini və stubları dəstəkləmək faydalı olacaq. Komandanız bilet sistemi və CI/CD istifadə edirsə, onlara qoşula bilmək üçün sizə IDE lazımdır. Konteynerlərdə və buludlarda yerləşdirmə və sazlamaya ehtiyacınız olub olmadığına qərar verin. Biz yalnız əsas gözləntiləri sadaladıq (bəlkə də əlavə etmək üçün bir şeyiniz var) və indi rəqiblərimizə daha yaxından nəzər salaq.

IntelliJ IDEA

Eclipse, NetBeans və ya IntelliJ IDEA?  Java inkişafı üçün IDE seçimi - 2Xüsusiyyətlər və qiymət baxımından IntelliJ IDEA iki versiyada təqdim olunur: pulsuz İcma nəşri və genişləndirilmiş funksionallığı olan pullu Ultimate nəşr. İcma nəşri JVM və Android inkişafı üçün nəzərdə tutulmuşdur. Pulsuz versiya Java, Kotlin, Groovy və Scala-nı dəstəkləyir; Android; Maven, Gradle və SBT; Git, SVN, Mercurial və CVS versiyaya nəzarət sistemləri ilə işləyir. Ultimate nəşr veb və müəssisə inkişafı üçün uyğundur. IDE-nin bu versiyası təkcə Git, SVN, Mercurial və CVS ilə deyil, həm də Perforce, ClearCase və TFS ilə işləyir; orada JavaScript və TypeScript-də yaza bilərsiniz; Təbii ki, Java EE, Spring, GWT, Vaadin, Play, Grails və bir sıra digər çərçivələr üçün dəstək var. Əlbəttə ki, SQL və verilənlər bazası ilə işləmək üçün alətlər olmadan edə bilməzdik. Qiymət siyasətini formalaşdırarkən bu IDE-nin tərtibatçılarını istiqamətləndirən ideya ondan ibarətdir ki, onun kommersiya versiyası (Ultimate) peşəkarların kompüterlərində öz yerini tutacaq və bunun sayəsində onların məhsuldarlığı artacaq. Əgər Java proqramçısı hər il 50 min dollar (və ya daha çox) qazanırsa, ödənişli IDE IntelliJ IDEA-ya (illik abunə üçün 500 dollar) xərclənən sərmayənin qaytarılması onun işinin cüzi də sürətlənməsinə görə çox tez baş verəcək. Sonrakı illərdə biznes üçün qiymət düşür, startaplar və frilanserlər üçün bu, xeyli aşağıdır, tələbələr, müəllimlər, Java çempionları və açıq mənbə tərtibatçıları üçün isə tamamilə pulsuzdur. IntelliJ IDEA dərin kod anlayışı, ağıllı erqonomikası, daxili inkişaf xüsusiyyətləri və çoxdilli dəstəyi ilə heyran qalır. Eclipse, NetBeans və ya IntelliJ IDEA?  Java inkişafı üçün IDE seçimi - 3
Şəkil 1. IntelliJ IDEA Java kodunun statistik təhlili əsasında xəbərdarlıqların və təxminlərin sayını göstərir. Şəkildə göstərildiyi kimi üzərinə klikləməklə fərziyyələri daha ətraflı öyrənə bilərsiniz; bir çox hallarda seçimlər və düzəliş variantları olan bir siyahı alacaqsınız.

Kod haqqında dərin anlayış

Sintaksisin vurğulanması və sadə kodun tamamlanması istənilən müasir Java redaktorları üçün adi haldır. IDEA “ağıllı avtomatik tamamlama” təklif edərək daha da irəli getdi. Bu termin o deməkdir ki, inkişaf mühiti verilmiş kontekstdə tətbiq olunan ən uyğun simvolların siyahısını göstərir. Simvolların siyahısı yalnız kontekstdən, "ümumi qəbul edilmiş" kontekstdən deyil, tərtibatçının proqramlaşdırma tərzindən, müəyyən operatorlardan nə qədər tez-tez istifadə etməsindən asılıdır. “Zəncirvari tamamlama” hətta mövcud kontekstdə üsullar və ya alıcılar vasitəsilə icazə verilən müvafiq simvolların siyahısını göstərir. Bundan əlavə, statik üzvlər və ya sabitlər üçün IDEA avtomatik olaraq istənilən zəruri idxal bəyanatlarını əlavə edir. Avtomatik tamamlamanın bütün hallarda, IDEA icra zamanı simvolun növünü təxmin etməyə, onun seçimini dəqiqləşdirməyə və hətta lazım gələrsə, tipli cast tətbiq etməyə çalışır. Java kodu tez-tez sətirlər kimi digər dillərdən fraqmentləri ehtiva edir. IDEA SQL, XPath, HTML, CSS və ya JavaScript kodunu Java string literallarına yeridə bilər. Bu mənada IDE bir neçə dildə kodu refaktor edə bilir. Məsələn, JPA xəritəsində sinfin adını dəyişsəniz, IDEA müvafiq JPA obyektini və ifadə sinfini yeniləyəcək. Kod parçasını refaktorlaşdırarkən, tərtibatçının bir (tamamilə təbii) istəyi var: bu kodun bütün dublikatları da yenidən işlənməlidir. IDEA Ultimate dublikatları və oxşar fraqmentləri tapır və həmçinin onlara refaktorinq tətbiq edir. IntelliJ IDEA kodu yüklədikdə və siz onu daxil etdikdən sonra təhlil edir. O, şübhəli problemləri göstərir (yuxarıdakı şəklimizdə olduğu kimi) və isteğe bağlı olaraq tapılan problemlərə tez bir zamanda düzəlişlərin siyahısını təqdim edir.

Erqonomika

Eclipse, NetBeans və ya IntelliJ IDEA?  Java inkişafı üçün IDE seçimi - 4IntelliJ IDEA elə hazırlanmışdır ki, inkişaf etdirici artıq orada olduqdan sonra axan məhsuldarlıq vəziyyətindən çıxarmasın. Soldakı birinci şəkildə göstərilən Layihə pəncərəsi sadə bir siçan ilə yox olur ki, proqramçı diqqətini kod redaktoru pəncərəsinə yönəldə bilsin. Kod yazarkən lazım olan bütün hərəkətlər üçün, açılan pəncərələrdə simvolların müəyyən edilməsi də daxil olmaqla, onları tez bir zamanda çağırmaq üçün düymə birləşmələri mövcuddur. Əvvəlcə bütün bu birləşmələri xatırlamaq çətindir, lakin tədricən onlara öyrəşirsən və yalnız onlardan istifadə edirsən. Bununla belə, proqramçı klaviatura qısa yollarından istifadə etməsə də, təcrübədən göründüyü kimi, IDEA-da asanlıqla və tez işləməyə öyrəşir. Xüsusilə IDEA sazlayıcısını qeyd etmək istərdim: dəyişən dəyərlər birbaşa redaktor pəncərəsində, müvafiq mənbə kodunun yanında göstərilir. Dəyişənin vəziyyəti dəyişdikdə, vurğu rəngi də dəyişir.

Quraşdırılmış alətlər

IntelliJ IDEA Git, SVN, Mercurial, CVS, Perforce və TFS daxil olmaqla əksər versiya idarəetmə sistemləri ilə qarşılıqlı əlaqə yaratmaq üçün vahid interfeys təqdim edir. Dəyişiklikləri birbaşa IDE-də idarə edə bilərsiniz, bu çox rahatdır. Mən IDEA-nı sınaqdan keçirən zaman mənbə kodundakı ən son dəyişikliyin annotasiya kimi redaktor pəncərəsində görünməsini arzulayırdım (məsələn, Visual Studio-da olduğu kimi). Göründüyü kimi, IDEA-nın bunun üçün xüsusi plagini var. IDEA həmçinin qurma alətləri, sınaq müddəti, əhatə dairəsi alətləri və daxili terminal pəncərəsi ilə gəlir. IntelliJ-in öz profili yoxdur, lakin üçüncü tərəflər plaginlərdən istifadə edərək ona qoşula bilər. Məsələn, JetBrains-in keçmiş aparıcı inkişaf etdiricisi tərəfindən yaradılmış YourKit və ya VisualVM (bu, NetBeans profilçisinin yenidən paketlənmiş versiyasıdır). Mənbəyiniz olmayan siniflərdə hər cür müəmmalı şeylər baş verəndə Java-da sazlama prosesi ağrılı ola bilər. IDEA-ya belə hallar üçün dekompilyator daxildir. Java-da server tərəfində proqramlaşdırma verilənlər bazaları ilə tez-tez qarşılıqlı əlaqəni tələb edir, ona görə də IDEA Ultimate proqramçıları SQL və verilənlər bazası ilə işləmək üçün alətlərin rahatlığını yüksək qiymətləndirəcəklər. Lakin onların imkanları kimsə üçün kifayət deyilsə, siz daxili SQL IDE (DataGrip) ilə IDEA Ultimate versiyasını əldə edə bilərsiniz. Bununla belə, bu, adi IDEA Ultimate abunəliyindən bir qədər baha olacaq. IntelliJ IDEA bütün əsas JVM proqram serverlərini dəstəkləyir və bütün Java Enterprise proqramçılarına tanış olan çətinlikləri aradan qaldıran bu serverlərdə yerləşdirməyə və debug etməyə imkan verir. IDEA, həmçinin Docker-i dəstəkləyir (inkişaf mühitinə xüsusi Docker alət pəncərəsi əlavə edən plagin vasitəsilə. Yeri gəlmişkən, IDEA-nın çoxlu plaginləri var.  

Əsl poliqlot

IDEA Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS və digər çərçivələr üçün kod dəstəyini genişləndirmişdir. Yəqin ki, onların hamısının Java-ya xas olmadığını görmüsünüz. IDEA digər dilləri - Groovy, Kotlin, Scala, JavaScript, TypeScript və SQL-i "başa düşür". Bu siyahıda axtardığınız dili görmürsünüzsə, hazırda R, Elm və D-ni dəstəkləyən 19 IntelliJ dil plaginləri var.

Eclipse IDE

Eclipse, NetBeans və ya IntelliJ IDEA?  Java inkişafı üçün IDE seçimi - 5 Təxminən 10 il əvvəl, ən yaxşı IDE haqqında soruşduqda, bir Java inkişaf etdiricisi əminliklə cavab verdi: Eclipse. Uzun illərdir ki, bu inkişaf mühiti Java IDE-lər arasında inamla xurma tuturdu. Bu mühit tamamilə pulsuz, açıq mənbədir, əsasən Java-da yazılmışdır. Bununla belə, onun modul arxitekturası Eclipse-dən başqa dillərlə istifadə etməyə imkan verir. IBM-in təşəbbüsü ilə Eclipse layihəsi 2001-ci ildə ortaya çıxdı. Onlar Smalltalk əsasında IBM Visual Age inkişaf mühitləri ailəsini əvəz etmək istəyirdilər. Yaxşı, əsas məqsəd, hətta adından da göründüyü kimi, Microsoft Visual Studio-dan (ingilis dilində tutulma, tutulma deməkdir) üstün olmaq idi. Java-nın daşınma qabiliyyəti Eclipse-ə çarpaz platforma mühiti olmağa kömək edir: bu IDE Linux, Mac OS X, Solaris və Windows sistemlərində işləyir. Daha yaxşı və ya pis, Java Standard Widget Toolbar (SWT) Eclipse-in görünüşü və hissi üçün ən azı qismən cavabdehdir. Eclipse öz performansını (yaxud bəzi xeyirxahların dediyi kimi, olmaması) JVM-ə borcludur. Eclipse olduqca ləng işləyir, çünki o, JVM-in kifayət qədər köhnə aparat və qədim versiyalarında köklənib. Bu gün də yavaş görünür, xüsusən də ona çoxlu plaginlər əlavə etsəniz. Eclipse-in resurs xərclərinin bəziləri fayl yükləndikdə və ya kod yeniləndikdə işləyən onun daxili artımlı kompilyatoruna aid edilə bilər. Bu faydalı bir şeydir, mətn daxil edərkən səhvləri tutur. Quraşdırmadan asılı olmayaraq, Eclipse layihəsi Java elementlərinin növləri, istinadları və bəyannamələrinin iyerarxiyası haqqında məlumatları ehtiva edən məzmun modelini saxlayır. Eclipse-in hazırkı versiyası Neon (4.6.0) adlanır. Veb tərtibatçıları üçün Eclipse Java EE IDE quraşdırdım (bu yeganə seçim deyil, başqa bir şey seçə bilərsiniz). O, minimal Eclipse SDK ehtiva edir və tələb əsasında plaginlər əlavə olunur. Yeri gəlmişkən, bu IDE-də plaginlərlə işləmək ürəkaçan deyil. Üçüncü tərəf plaginləri tez-tez bir-biri ilə ziddiyyət təşkil edir, baxmayaraq ki, onların rəsmi xüsusiyyətləri bu barədə heç nə demir. Eclipse, NetBeans və ya IntelliJ IDEA?  Java inkişafı üçün IDE seçimi - 6
Şəkil 2. Soldan sağa dörd Eclipse alətlər paneli var: Package Explorer, Java Editor, Java Class Structure və Task List. Bu şəkildə Eclipse-ə yüklənmiş layihə JUnit test çərçivəsidir. Panellər asanlıqla dəyişdirilə bilər.

Plugin dəstəyi

Eclipse-in plagin ekosistemi həm IDE-nin gücü, həm də əsas problemlərindən biridir. Pluginlərin uyğunsuzluğu səbəbindən bəzən bütün montajlar sıradan çıxır və proqramçılar yenidən işə başlamalı olurlar. Hal-hazırda Eclipse üçün yazılmış rəsmi və qeyri-rəsmi 1700-dən çox plagin var ki, onlar əla işləyə bilər və ya olmaya bilər. Eclipse plaginləri 100-dən çox proqramlaşdırma dilini və 200-ə yaxın proqram inkişaf çərçivəsini dəstəkləyir. Əksər Java serverləri də dəstəklənir: Eclipse-dən yeni server bağlantısı təyin etsəniz, 30-a yaxın proqram serverini tapa biləcəyiniz satıcı qovluqlarının siyahısına aparılacaqsınız. Təkcə Apache Tomcat-ın doqquz variantı olacaq. Kommersiya satıcıları öz həllərini bir araya yığmağa meyllidirlər: məsələn, yalnız bir Red Hat JBoss Middleware elementi var və içərisində siz WildFly və EAP server alətləri, həmçinin JBoss AS tapa bilərsiniz.

Redaktə, refaktorinq və sazlama

Eclipse ilə ilk təcrübəniz çaşdırıcı və hətta çaşdırıcı ola bilər. İlk addım Eclipse-i qurmaq və onun iş yerləri, görünüşlər və baxışların konseptual arxitekturasına alışmaqdır. Bütün bunlar quraşdırdığınız plaginlərlə müəyyən edilir. Server tərəfində Java inkişafı üçün siz çox güman ki, Java, Java EE və Java baxış görünüşlərindən, Paket Explorer görünüşündən, sazlama görünüşündən, veb alətləri əmrlərinin sinxronizasiyası görünüşündən, verilənlər bazası inkişafı görünüşündən və verilənlər bazasında sazlama görünüşündən istifadə edəcəksiniz. Praktikada sizə lazım olan pəncərələri açdığınız zaman hər şey məna kəsb edir. Eclipse, demək olar ki, həmişə müəyyən bir problemi həll etmək üçün bir neçə yol təklif edir. Məsələn, Java axtarış perspektivindən istifadə edərək kodu görə bilərsiniz. Nə seçmək zövq və seçim məsələsidir. Xüsusi Java axtarışı sizə Java paketlərinin, növlərinin, metodlarının, sahələrinin bəyannamələrini, istinadlarını və baş vermələrini tapmağa imkan verir. Siz həmçinin sürətli axtarış girişindən və önizləmədən istifadə edə bilərsiniz. Ümumi kod nümunələri kod şablonlarından yaradıla bilər. Eclipse-də Java Refaktorinqi ümumi adlandırma əməliyyatlarından tutmuş daha az aşkar çevrilmələrə qədər (Martin Fowlerin kitabında olduğu kimi) 23 əməliyyatı dəstəkləyir. Uzaqdan sazlamanı dəstəkləyən JVM istifadə etdiyiniz şərtlə, Eclipse həm yerli, həm də uzaqdan sazlamanı dəstəkləyir. Sazlama olduqca standartdır: siz kəsmə nöqtələrini təyin edirsiniz və sonra sazlama sekmesinde dəyişənlərə baxın. Əlbəttə ki, kodunuzdan keçə və ifadələri qiymətləndirə bilərsiniz. Eclipse müxtəlif yaş, dəyərlər və faydalı sənədlərin geniş məlumat bazasına malikdir. Təəssüf ki, təlimatlarda cari versiyaya uyğun olmayan bir şəkil tapmaq, məsələn, köhnəlmiş interfeys və düymə düzümü ilə bu IDE üçün ümumi bir hadisədir. Təəssüf ki, sənədlərin gec yenilənməsi problemi hər hansı mənbə kodu layihələri üçün çox yaygındır.

NetBeans

Eclipse, NetBeans və ya IntelliJ IDEA?  Java inkişafı üçün IDE seçimi - 7NetBeans 1996-cı ildə Praqada bir universitet tələbəsi layihəsi olaraq başladı. 1997-ci ildə IDE kommersiya məhsuluna çevrildi və 1999-cu ildə Sun Microsystems (Java-nın valideynləri) tərəfindən satın alındı ​​və növbəti il ​​açıq mənbə buraxılışını təqdim etdi. Cari versiya 8.1 Windows, Mac OS X, Linux və Solaris ilə işləyən maşınlarda işləyir. Yaxşı, portativ paket Java maşınının mövcud olduğu istənilən sistemdə işlədilə bilər. Mən özüm üçün Java EE paketini endirmişəm, bu, altı mümkün yükləmə paketindən biridir. Bu paket JavaScript və HTML, GlassFish və Tomcat-ı dəstəkləyir, lakin PHP, C/C++/Fortran, Groovy və Grails-i dəstəkləmir: onları “Hər şey daxil” paketində (və ya sadəcə olaraq “Hamısı”) əldə etmək olar. Bununla belə, mən istəsəm, müvafiq plagini (və ya hər hansı digər) seçərək, yuxarıdakı dillər üçün dəstəyi istənilən vaxt yükləyə bilərəm. NetBeans Eclipse-dən daha azdır, lakin onlar adətən bir-biri ilə ziddiyyət təşkil etmir. Bu payızda Oracle (Sun Microsystems-i əldə etdikdən sonra NetBeans-ı əldə etdi) bu inkişaf mühitini bütün hüquqlar, mənbə kodu, ticarət nişanı, "netbeans.org" domeni və bir sıra digər infrastrukturlarla birlikdə Apache Software Foundation qanadı altına köçürmək qərarına gəldi. elementləri. Buna görə də, layihənin gələcəyi hələ də qeyri-müəyyəndir, baxmayaraq ki, sistem əvvəllər müəyyən əlaqəli imtiyazlara malik idi. Beləliklə, yenilənmiş platformanın buraxılmasından dərhal sonra Java 8-ə ilk dəstək verən NetBeans oldu və “Java 8 üçün rəsmi IDE” adlandırıldı. Lakin buraxıldıqdan bir ay sonra bu üstünlük itirildi: məhz o zaman digər IDE-lər də Java 8 üçün dəstək aldılar. Bununla belə, qeyd etmək istəyirəm ki, NetBeans'ın Java 8 dəstəyi həqiqətən yaxşıdır və IDE Java 8 hiylələrini "köhnə" kodda toxumaq üçün əladır. Onun redaktorları, kod analizatorları və çeviriciləri proqramçıya Java 8-ə xas konstruksiyalar - lambda ifadələri, funksional operatorlar və metod istinadlarından istifadə edərək kodu təkmilləşdirməyə kömək edəcək. NetBeans 8-dəki JavaScript plaginləri Node.js-i və Gulp və Mocha kimi ən son JavaScript alətlərini, həmçinin Nashorn JavaScript tərcüməçisini dəstəkləmək üçün əla iş görür. Eclipse, NetBeans və ya IntelliJ IDEA?  Java inkişafı üçün IDE seçimi - 8
Şəkil 3. Burada NetBeans IntelliJ IDEA-nın Şəkil 1-də açıldığı eyni Maven əsaslı layihəni icra edir. Kontekst menyusunda və refaktorinq alt menyusunda təkmilləşdirilmiş funksionallığa diqqət yetirin.

Redaktə və refaktorinq

NetBeans Redaktor dilləri dəstəkləyir, siz yazarkən xətaları aşkarlayır və alət ipuçları və ağıllı kodu tamamlamaqda sizə kömək edir. Subyektiv hisslərə görə, IDE bu tapşırığın öhdəsindən Eclipse-dən daha sürətli gəlir, lakin IntelliJ IDEA-dan bir qədər yavaşdır. Bundan əlavə, NetBeans proqramçıya kodu pozmadan yenidən strukturlaşdırmağa, mənbə təhlilini həyata keçirməyə imkan verən, həmçinin tez düzəlişlər və ya kod genişləndirmələri üçün geniş ipucu təklif edən bütün refaktorinq alətlərinə malikdir (Şəkil 3-də göstərildiyi kimi). NetBeans-a əvvəllər "Project Matisse" kimi tanınan Swing GUI dizayn aləti daxildir. Tərtibatçılar NetBeans 7.1-də təqdim edilən Inspect & Transform avtomatlaşdırılmış refaktorinq alətini yüksək qiymətləndirirlər. Bu, layihə kodunu təhlil etməyə və təklif olunan təkmilləşdirmələri etməyə imkan verir. Şəxsən mən bütün kodumu əvvəlcə vahid testləri ilə sınaqdan keçirməyi üstün tuturam və yalnız bundan sonra köklü dəyişikliklər edə biləcək alətləri işə salıram. Mən dəfələrlə düzəlməz nəticələrə səbəb olan hər cür avtomatik düzəlişlərdən əziyyət çəkmişəm.

Quraşdırma, Sazlama və Profilləşdirmə

NetBeans Maven və Ant üçün əla daxili dəstəyə, həmçinin Gradle üçün plaqinə malikdir. Maven layihələrinin sistem tərəfindən “doğma” kimi qəbul edildiyini biləndə çox sevindim. Bu o deməkdir ki, onları idxal etmək əvəzinə sadəcə açmaq olar. NetBeans həmçinin Maven asılılıqları üçün cəlbedici (və faydalı) qrafik ekranı ehtiva edir. NetBeans Java debugger pis deyil, lakin bəzi xəbərdarlıqlarla gəlir. Ayrı bir vizual sazlayıcı proqramçıya istifadəçi qrafik interfeysinin skrinşotlarını çəkməyə və JavaFX və Swing istifadə edərək hazırlanmış proqramların interfeyslərini araşdırmaq imkanı verir. NetBeans profilləyicisi CPU və yaddaşın necə istifadə edildiyini daha aydın göstərir və yaddaş sızmalarını tapmaq üçün əla alətlərə malikdir.

Hansı Java IDE daha yaxşıdır? Nəhənglər üçlüyünün müqayisəsi

Bütün üç IDE-dən, Eclipse, NetBeans və IntelliJ IDEA-dan illər ərzində sadalanan xronoloji ardıcıllıqla istifadə etmişəm. Hər dəfə fərqli IDE-yə keçəndə məhsuldarlığımın artdığını hiss edirdim. Ancaq IDEA-nın mənim son seçimim olduğuna qəti şəkildə əmin olsam da, bəzən qalan iki IDE-dən birinə qayıtmalı oldum. Bu, məsələn, Eclipse-in Android-in inkişafını dəstəkləyən yeganə alət olduğu bir vaxtda belə idi (bu gün Android Studio üçün hazırkı rəsmi IDE var, o, IntelliJ IDEA-a əsaslanır). Əlbəttə ki, hər üç IDE-nin öz pərəstişkarları və düşmənləri var. Mən IntelliJ IDEA-nı sevən çoxlu Java proqramçılarını, eləcə də sadiq Visual Studio C++ və C# pərəstişkarlarını tanıyıram. Çox vaxt bu insanlar məhsuldarlıqlarının artmasından və IDEA-nın pullu versiyasından cəmi bir neçə həftə istifadə etdikdən sonra illik abunə haqqının geri qaytarılmasından məmnundurlar. Bununla belə, NetBeans və Eclipse istifadəçiləri də tez-tez alətlərinə qoşulurlar və digər proqramçıların IDEA üçün niyə pul ödəməyə hazır olduqlarını təəccübləndirirlər. Yeni Java tərtibatçılarına Eclipse-dən uzaq durmağı məsləhət görərdim. Java üçün hələ də ən populyar IDE olmasına baxmayaraq, bu, yeni başlayanlar üçün çətindir: həm sistemin yerləşdirilməsi zamanı, həm də gündəlik iş zamanı Eclipse-in vəhşi təbiətində itmək asandır. Eclipse bütün IDE-lər arasında ən geniş plagin ekosisteminə malikdir və eyni zamanda bu eyni plaginlərin uyğun olmayan dəstini quraşdırmaq səbəbindən qəzaya uğrama ehtimalı yüksəkdir. Təəssüf ki, Eclipse-dən istifadə edərkən mən dəfələrlə bu IDE-nin başqa bir pozulmuş montajını çıxarmalı və "təmiz" bir paket quraşdırmalı oldum. NetBeans əksər tərtibatçılar üçün yaxşıdır, onun əla profili var və mən bəzən ondan istifadə edirəm. Bununla belə, mən IntelliJ IDEA Ultimate üçün ödəniş etməyi üstün tuturam. Və NetBeans-ın gələcəyi hələ də bəlli deyil. Hələ alətlər almaq üçün büdcəsi olmayan yeni Java tərtibatçıları üçün ehtiyaclarından asılı olaraq NetBeans və ya IntelliJ IDEA Community Edition istifadə etməyi məsləhət görürəm. Birincisini Java serverlərini kodlayanlar üçün seçməyə dəyər, ancaq IntelliJ IDEA Ultimate-i pulsuz və ya böyük endirimlə əldə edə bilənlər kateqoriyasına daxil olmasanız (tələbələr və ya açıq mənbə hazırlayan proqramçılar) layihə).

"Yüngül" Java IDE

Bu gün əksər Java tərtibatçıları IDEA, NetBeans və ya Eclipse-dən istifadə edirlər, lakin bəzən daha yüngül inkişaf mühitlərinə və hətta Java plaginlərini dəstəkləyən Sublime Text, emacs və ya vim kimi kod redaktorlarına ehtiyac var. Bir az daha yüngül bir şey axtaranlar üçün məntiqli variantları aşağıda sadaladım:
  • 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 в зависимости от проекта

Mən üç ən əhəmiyyətli Java IDE-nin hər birinin vacib faydalarını təsvir etməyə çalışdım və onların faydalı kiçik rəqiblərini qısaca qeyd etdim. Düzgün Java inkişaf mühitini seçmək üçün müsbət və mənfi cəhətləri ölçməli və onları ehtiyaclarınız və layihələrinizin ehtiyacları ilə uyğunlaşdırmalısınız. Əgər komandaya qoşulursunuzsa, tələb olunmasa da, digər tərtibatçılar kimi eyni IDE-dən istifadə etmək yaxşı olar. Komandanız GitHub-da mənbələrə sahibdirsə, IDE-nin GitHub-ı dəstəkləməsi təbii ki, daha rahat olacaq. Bəli, siz GitHub müştərisi və ya git komanda xəttindən istifadə edərək IDE olmadan kod ötürülməsini idarə edə bilərsiniz. Bəs müxtəlif sistemlər arasında belə sıçrayışlar nə dərəcədə effektiv olacaq? IDE-nin qurma sistemini dəstəkləməsi də vacibdir. Məsələn, Mavendirsə, çətin ki, yerli sınaq üçün Ant-da sistemi yenidən qurmaq istəsin. Xoşbəxtlikdən, hər üç böyük Java IDE qutudan kənarda və ya plaginlə Ant, Maven və Gradle-ni dəstəkləyir. Lakin “kiçik” IDE-lər üçün bu doğru olmaya bilər. Layihədə istifadə olunan JRE versiyasını dəstəkləmək inkişaf mühitinin təbii istəyidir. Versiyalar uyğun gəlmirsə, məsələn, sizdə görünəcək, lakin digər komanda üzvlərində olmayan çoxlu əlavə səhvlər əldə etmək ehtimalı yüksəkdir. Belə bir vəziyyətin karmanıza yaxşı təsir göstərməsi ehtimalı azdır. Açığı, JRE uyğunsuzluğu, IDE hələ Java-nın yeni versiyasına yenilənməyibsə, konfiqurasiya xətaları səbəbindən IDE dəstəyinin olmamasından daha çox baş verir. Sadəcə inanın ki, IDE layihədə istifadə olunan çərçivələri və texnologiyaları tam dəstəkləyirsə, bu, həqiqətən də işi sürətləndirməyə kömək edir. Çox güman ki, onsuz da idarə edəcəksiniz. Lakin, əgər IDE JPA ifadələrinin JPA obyekti və ifadə sinifləri (məsələn, IntelliJ) ilə necə əlaqəli olduğunu başa düşürsə, JPA ilə əlaqəli koda tamamilə səhv başa düşdüyünüzdən daha az vaxt sərf edəcəksiniz. Yaxşı, əgər IDE test çərçivəsini və layihə üçün istifadə olunan kod icraçısını dəstəkləyirsə, iş mühitini dəyişmədən testləri həyata keçirə bilərsiniz. Bu da inkişaf prosesini sürətləndirəcək. Nəhayət, IDE layihənin səhv izləmə və bilet sistemi ilə uyğundursa, iş daha sürətli gedir. Yenə də, JIRA deyək, müstəqil və ya veb müştəridən istifadə edə bilərsiniz, lakin birbaşa IDE-də qalaraq, pəncərəni dəyişdirmədən biletləri yoxlamağın daha sürətli olması ilə razılaşmaq çətindir.

Pulsuz yoxsa pullu?

IntelliJ IDEA Ultimate-i sınaqdan keçirdikdən sonra düzgün inkişaf mühiti hiss etdim. IDE dünyasının bir növ Cadillac. Mən birmənalı şəkildə deməyəcəyəm ki, IDEA Java üçün ən yaxşı IDE-dir, amma mənim üçün belədir. Yenə pulsuz olmasa da, hesab edirəm ki, ondan istifadədən əldə edilən məhsuldarlıq illik abunəyə dəyər. İllik IntelliJ IDEA Ultimate abunəliyini ödəyə bilməyən yeni başlayanlar üçün Eclipse əvəzinə NetBeans istifadə etməyi məsləhət görürəm. Əlbəttə ki, Eclipse plaginlərinin ekosistemi bu gün hər hansı digər IDE-dən daha çox inkişaf etmişdir, lakin o, çox böyüdülmüş və səliqəsizdir: təcrübəsiz bir tərtibatçı IDE, Java cəngəlliyində ilişib qalmaq riski daşıyır və işə dalmaq arxa plana keçəcək. . ikisi xüsusi olaraq təhsil məqsədləri üçün hazırlanmış "yüngül" alternativlərə də toxundu. Yaxşı, əgər siz yenicə dil öyrənməyə başlayırsınızsa və minimalist mühitə üstünlük verirsinizsə, niyə də olmasın?
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION