În ce mediu este mai bine să programați în java. Instalarea kitului de dezvoltare Java. JCreator - un mediu simplu pentru dezvoltarea Java

Asociat cu alegerea mediului de lucru - IDE (mediu de dezvoltare integrat). Acest lucru este deosebit de important pentru cei nou în programare, deoarece alegerea IDE poate avea un impact semnificativ asupra fluxului de lucru.

Deși în general există mai mult de o duzină de medii de dezvoltare Java diferite, cele mai mari, cele mai bogate în funcții și bine susținute atât de dezvoltatori, cât și de comunitate sunt trei IDE-uri: NetBeans, Eclipse și IntelliJ IDEA. Concurenții rămași sunt semnificativ inferiori în funcționalitate, mulți nu mai sunt acceptați, motiv pentru care nu pot îndeplini cele mai recente standarde ale unui limbaj de programare atât de rapid dezvoltat precum Java. Să ne uităm la fiecare dintre mediile de dezvoltare menționate mai detaliat.

NetBeans este dezvoltat cu sprijinul activ al Oracle, care deține și drepturile asupra Java. Astfel, unele tehnologii Java au suport primar în NetBeans.

În ceea ce privește funcționalitatea, NetBeans este cel mai simplu și mai intuitiv mediu de dezvoltare pentru Java printre primele trei. Fără îndoială, îl putem recomanda celor care întâlnesc medii de dezvoltare și limbajul de programare Java pentru prima dată. Printre trăsături distinctive Acest IDE oferă configurarea optimă a mediului din cutie. Avand instalat mediu dat, utilizatorul primește setări excelente pentru compilator și mediul de dezvoltare în sine, o interfață fără pictograme și elemente de meniu inutile, fiind prezente doar cele mai populare și frecvent utilizate funcții. Ulterior, desigur, puteți personaliza interfața pentru dvs. De asemenea, puteți observa implementarea convenabilă a sarcinilor; toate meniurile sunt foarte bine structurate și au nume clare. Separat, putem observa ușurința de a lucra cu NetBeans datorită absenței necesității de a rătăci prin meniuri nesfârșite și ferestre pop-up, de care suferă multe alte medii de dezvoltare. În cele mai multe cazuri, atunci când un utilizator interacționează cu mediul, NetBeans sugerează automat parametrii optimi pentru munca. Astfel, chiar dacă un utilizator începător nu înțelege pe deplin despre ce îl întreabă mediul, făcând clic pe „OK”, este aproape imposibil să-i rănești munca. Instalare componente suplimentare mediu / plug-in-uri (plug-in) se realizează cu un singur clic. Există un suport bun pentru sistemele de control al versiunilor (VCS, sistem de control al versiunilor), precum și un subsistem de dezvoltare a interfeței grafice cu utilizatorul (GUI) ușor de utilizat. NetBeans este disponibil.

Pentru a rezuma, NetBeans IDE este un mediu de dezvoltare intuitiv și ușor de utilizat. NetBeans este ușor de început și ușor de învățat să folosească la un nivel avansat. În plus, stilul de interacțiune NetBeans cu utilizatorul este de așa natură încât vă permite să stăpâniți rapid limbajul Java în sine, dacă utilizați indicii încorporate în mediu, fie că este vorba de documentația Javadoc sau de recomandări pentru corectarea erorilor trecute/potenţiale.

Eclipse este un mediu de dezvoltare integrat creat inițial de IBM și a fost printre lideri încă de la înființare. Cu toate acestea, Eclipse nu este conceput doar pentru Java, ci este un mediu scop general Platforma Eclipse, care îi afectează funcționalitatea. Cea mai potrivită versiune a mediului Eclipse pentru lucrul cu Java este disponibilă sub numele "" Eclipse IDE pentru Java Dezvoltatori"".

Ceea ce îl diferențiază pe Eclipse este personalizarea și extensibilitatea sa aproape nelimitată. Pentru utilizatori, totuși, acest lucru poate cauza probleme. Deci, din cutie, interfața Eclipse conține prea multe funcții rar utilizate, are meniuri confuze și neintuitive, iar Eclipse este cunoscut pentru casetele sale de dialog nesfârșite care necesită utilizatorului să introducă o cantitate mare de informații sau sunt pur și simplu supraîncărcate cu informații care el trebuie să se familiarizeze cu. Sistemul de instalare a pluginurilor poate părea, de asemenea, confuz. Sistemele de control al versiunilor și de dezvoltare a interfeței cu utilizatorul sunt la un nivel mediu. Eclipse este, de asemenea, disponibil gratuit.

Printre avantajele IDE-ului Eclipse se numără suportul pentru aproape orice tehnologie Java existentă, precum și tehnologii minore de care programatorii nu se pot descurca. Cu suficientă experiență, Eclipse poate fi personalizat într-un grad incredibil pentru a se potrivi nevoilor dumneavoastră. Pentru utilizatorii noi, acest lucru va fi doar un obstacol munca eficienta, deoarece nu trebuie să vă așteptați la multă intuitivitate și simplitate de la un mediu cu scop general.

IntelliJ IDEA, creat de JetBrains, a fost primul mediu de dezvoltare integrat complet creat. Spre deosebire de IDE-urile descrise mai sus, Intellij IDEA este disponibil într-o ediție comunitară gratuită și o versiune plătită - Ultimate. Pentru un dezvoltator începător, versiunea gratuită conține toate funcționalitățile necesare și poate fi considerată un IDE cu drepturi depline.

Acum IDEA primește din ce în ce mai mulți susținători și recenzii pozitive, fiind, așa cum spune sloganul său, un mediu de dezvoltare „inteligent”. Intellij IDEA este extrem de clar, ușor de utilizat, acceptă majoritatea tehnologii moderne, are unul dintre cele mai convenabile sisteme pentru lucrul cu controlul versiunilor. Este complet liber de orice supraîncărcare: un minim de casete de dialog și numai informatie necesara sunt afișate utilizatorului. Există un sistem extins de taste rapide care vă permit să efectuați rapid un număr mare de funcții non-triviale. În ceea ce privește ușurința de a lucra cu IntelliJ IDEA este cu siguranță un nivel peste concurenții săi, deoarece fiind un mediu „inteligent”, cunoaște întotdeauna intențiile utilizatorului, îndemnându-l/ajutându-l în munca sa și salvând un numar mare de timp si efort. IntelliJ IDEA nu are dezavantaje ca atare; pentru un începător, totuși, sistemul de dezvoltare GUI poate fi dificil, deoarece va necesita utilizatorului să aibă cel puțin un set minim de cunoștințe despre construirea unei GUI în Java.

Pentru a rezuma, merită făcute următoarele observații. Pentru cei care sunt nou în Java și mediile de dezvoltare integrate, alegerea perfecta- NetBeans. Pentru persoanele cu cunoștințe minime de Java sunt potrivite NetBeans sau IntelliJ IDEA. Pentru cei care au dorința și oportunitatea de a petrece ceva timp cunoscând și amenajând mediul înconjurător și doresc, de asemenea, să personalizeze complet mediul pentru ei înșiși, le putem recomanda Eclipse.

Aproape toate cărțile și tutorialele despre Java pentru începători încep cu o descriere a OOP: cât de minunat și de magnific este. Este clar, deoarece în Java este pur și simplu imposibil să faci orice altă programare decât cea orientată pe obiecte, atunci mai întâi se propune să stăpânești 40..80 de pagini de analogii nebunești cu ierarhia pisici/câini/rățe/mașini și doar după aceea se propune să scrie „Hello, World!” . :-)

Este de remarcat faptul că absolut toate antrenamentele Java se bazează pe cea mai primitivă ieșire a rezultatului către consolă. Aceea nu este aplicație de consolă în înțelegerea obișnuită, și anume ieșirea unor date linie cu linie. Ei bine, de exemplu, Turbo Pascal 3.0 a fost lansat în 1985 și avea deja suport pentru modurile grafice. În 1990, a apărut Turbo Vision - un lucru foarte tare - adica Windows doar pentru DOS. Și în Java în 2018, numai ieșirea din consolă este posibilă. Și tot acest entuziasm și răcoare este cumva spulberată deja la etapa „Bună ziua, lume!”... Singurul lucru mai rău este probabil să te distrezi pe un calculator programabil MK-61 sau MK-52 - dar ce? există aceeași ieșire linie cu linie.

Dar cel mai amuzant lucru este că în Java poți de fapt să creezi programe folosind programarea vizuală! Am aflat despre asta doar când am citit (sau mai bine zis m-am familiarizat cu) o carte de 500 de pagini, unde într-unul din ultimele capitole a devenit brusc clar că pentru Java există GUI-uri (interfețe grafice de utilizator) obișnuite și poți proiecta programe cu butoane, câmpuri de introducere și meniuri normale. Se pune întrebarea: de ce ai petrecut atât de mult timp chibzuind cu această consolă proastă când ai fi putut face totul frumos și îngrijit deodată?

După ce am petrecut câteva zile studiind această problemă, am aflat câteva nuanțe amuzante.

Primul- GUI pentru Java este disponibilă trei tipuri(biblioteci): A.W.T., Leagăn(cine vine cu astfel de nume?) și JavaFX.

Astăzi (Java 8 și 9) toate sunt incluse în JDK: adică totul funcționează din cutie și nu trebuie să vă obosiți să le instalați. Acesta este un mare plus.

Dar AWT este prima și foarte veche implementare, așa că nu este nevoie să o folosești. În general - nu cușer. Swing nu este, de asemenea, cușer, pentru că ceva s-a încurcat acolo și programele sunt teribil de lente din cauza asta. Nu pot spune mai precis, nu am înțeles, dar se pare că nu mai este dezvoltat oficial pentru mai multe versiuni. Dar JavaFX este un zgomot și viitorul nostru strălucit.

Există o altă urâciune - applet-uri java, cele care funcționează în browser și în același timp îl „atârnă” strâns, la fel ca Flash, doar și mai rău. Din fericire, acest lucru/aceste lucruri/lucruri practic nu mai sunt folosite, așa că pierderea timpului studiindu-le este inutilă.

Deci, singurul lucru pe care merită să-l petreci timp este JavaFX.

Al doilea punct. Nu este atât de simplu. Să luăm în considerare Delphi (sau Visual Studio, Lazarus, nu contează). Chiar și pentru un începător „verde”, crearea unui program simplu (un buton și un câmp de text pentru ieșire) va decurge astfel:

  • lansează Delphi;
  • se creează automat un nou proiect cu formularul principal;
  • selectați un buton din paleta componentelor și plasați-l pe formular; totul este vizual
  • în mod similar, plasăm un câmp de text pe formular;
  • dacă este necesar, în panoul de proprietăți puteți specifica textul butonului, dimensiunile etc.;
  • lansare - Delphi se va oferi să salveze, să salveze.

Adică nu am scris o singură linie de cod, IDE-ul a făcut totul singur. Dacă te uiți la codul generat, nu îl poți numi simplu - necesită deja anumite cunoștințe, dar Delphi este suficient de inteligent pentru a înțelege cum să lucrezi cu el.

Dacă vrem să adăugăm o acțiune, de exemplu, când se face clic pe un buton, completați un câmp de text cu expresia „Bună ziua!”, atunci facem acest lucru:

  • faceți dublu clic pe butonul (sau selectați evenimentul onClick);
  • Delphi creează codul pentru acest handler de evenimente și ne transferă în editor;
  • introducem numele câmpului de text și Delphi oferă indicii care vă pot ajuta să vă dați seama ce să faceți și cum să faceți acest lucru.

Adică, din nou, IDE-ul a făcut toată treaba murdară.

Dar acest lucru este în alte limbi, Java își urmează drumul. Pentru a crea un buton în JavaFX, trebuie să creați manual un Stage - „scena de teatru” (numele este complet serios!) și pe ei plasează o scenă. Există un fel de container în care sunt deja plasate alte elemente.

Se presupune că fiecare element și fiecare dintre proprietățile sale trebuie programate individual. Iată un exemplu de două butoane și o etichetă din cartea mea de antrenament

Răspuns = new Label ("Apăsați un buton"); Button btnUp = new Button ("Sus"); Button btnDown = new Button ("Jos"); btnUp.setOnAction(noul EventHandler () ( public void handle(ActionEvent ae) ( response.setText("Ai apăsat Sus."); ) )); btnDown.setOnAction(noul EventHandler () ( public void handle(ActionEvent ae) ( response.setText("Ai apăsat în jos."); ) )); rootNode.getChildren().addAll(btnUp, btnDown, răspuns); ...

Când există o duzină de butoane, plus 20 de elemente de meniu, plus alte 30 de componente, codul nu va părea mic. Și asta fără codul care este responsabil pentru proprietăți suplimentare, cum ar fi alinierea, dimensiunile, fontul... Și aici este al doilea indică faptul că tutorialele JavaFX arată exact cum să scrieți manual „cod fx”. Melancolie, într-un cuvânt...

Dar aici vine harul mântuitor a treia nuanță. Se pare că oamenii inteligenți (aparent familiarizați cu IDE-urile cu drepturi depline) au dezvoltat un alt tip de aplicație, în care un fișier xml descriptiv numit fxml, iar astfel de programe sunt schimbate ca „ Aplicații FXML JavaFX»

Este absolut surprinzător pentru mine că învățarea Java nu începe cu astfel de aplicații. Chiar dacă nu este Delphi, este totuși de un milion de milioane de ori mai bine decât să lucrezi cu consola și să-ți umple capul cu alte gunoaie despre motivul pentru care trebuie să folosești sute de linii de POO, unde în alte limbi este nevoie de o procedură simplă. ;-)

Acum hai să fim serioși. Dacă nu ați programat niciodată în Java, puteți încerca chiar acum. De fapt, este destul de mișto, deși va dura puțin timp să te obișnuiești cu programele. Dacă aveți experiență cu „IDE-uri vizuale”, atunci și mai bine - veți întâlni o mulțime de oameni pe care îi cunoașteți.

JDK

Java trebuie să fie instalat pe computer. Nu voi oferi link-uri despre cum să faceți acest lucru - Google vă va ajuta, deoarece totul este prea simplu.

IDE

În Java nu există un singur program - mediul de dezvoltare, așa că există exemple pe Internet din diferite programe. Cele mai primitive, precum Notepad++, sunt potrivite doar pentru ieșirea pe consolă, dar dacă luăm în considerare ceva mai serios, atunci ies în evidență doar trei candidați: NetBeans, Eclipse și IntelliJ IDEA.

NetBeans- cel mai simplu program care se lanseaza rapid (fata de altii) si functioneaza destul de bine.

Eclipsă- de asemenea, o opțiune bună, mai puternică decât NetBeans, dar mai slabă decât IntelliJ IDEA.

IntelliJ IDEA- arată cel mai tare, dar trebuie să plătești pentru asta cu viteză. Este de remarcat faptul că Android Studio se bazează pe IntelliJ IDEA, dar din anumite motive studioul funcționează mult mai lent.

Un punct important este legat de programarea pentru Android. Dintre aceste trei IDE-uri, doar IntelliJ IDEA este mai mult sau mai puțin potrivit pentru asta. Există o mulțime de materiale pe Internet despre programarea pentru Android în Eclipse, dar toate sunt deja depășite - nu vă pierdeți timpul lansând un plugin ADT vechi și încercând să faceți măcar ceva cu el. Poate vechi Android SDKși va funcționa, dar toate cele noi nu mai funcționează.

Vă voi arăta cum să creați o aplicație FXML JavaFX în toate cele trei programe, dar înainte de a începe, trebuie să instalați încă un program: SceneBuilder (utilizați versiunea Java 8). Acesta este programul cheie în care, de fapt, se realizează toată construcția vizuală. SceneBuilder Poate funcționa singur fără un IDE, așa că îl puteți rula și vedeți cum funcționează. Ieșirea va fi un fișier fxml care conține toate markupurile necesare. Acest fișier este folosit în IDE, în loc să scrie megatoni de cod. :-)

TK

Programul creat va fi foarte simplu - un buton și un câmp de text. Când faceți clic pe butonul, lăsați textul „Bună ziua!” să fie adăugat în câmpul de text.

În fiecare program, trebuie să specificați setarea în avans - cea folosită de JDK. Dacă nu vă puteți da seama cum să o faceți, căutați-l pe Google.

NetBeans

Înainte de a începe, trebuie să vă conectați SceneBuilder: Instrumente - Opțiuni - Java - JavaFX - Pagina de pornire a Scene Builder. Selectați directorul programului. Configurarea trebuie făcută o singură dată. Acest lucru se aplică tuturor IDE-urilor.

Creați un nou proiect în care trebuie să selectați „FXML JavaFX Application”.

Faceți clic pe „Finish” și, după ceva lucru de către NetBeans, vedem fișierele terminate:

  • Myfx.java- acesta este fișierul principal, care lansează de fapt întregul program.
  • FXMLDocumentController.java- acesta este „controlerul”, unde va avea loc cea mai mare parte a programării.
  • FXMLDocument.fxml- acest fișier stochează partea vizuală.

Acum rulați programul. Mai întâi, va avea loc asamblarea și compilarea (destul de rapid), după care va apărea fereastra programului nostru.

Acest lucru este grozav pentru că nu am scris o singură linie de cod, dar avem deja un program cu un buton de lucru. :-)

Dacă ați specificat corect calea către SceneBuilder, puteți selecta elementul de meniu "Deschis" la dosar FXMLDocument.fxml. Același lucru se va întâmpla dacă faceți dublu clic. Se va deschide SceneBuilder. Dacă nu există niciun element, atunci calea este specificată incorect, verificați setările.

Principiul de funcționare în SceneBuilder este același pentru toate IDE-urile, așa că deocamdată voi descrie doar puncte generale, apoi vă puteți da seama singur.

Este de remarcat faptul că, după editarea fișierului, nu trebuie să închideți SceneBuilder. Trebuie doar să salvați (Ctrl+S) și să comutați la IDE - acesta va prelua singur modificările.

Fereastra SceneBuilder este împărțită în trei părți:

  • în stânga sunt seturi de componente, ierarhie și controler, unde este indicată clasa principală (acest lucru este important!)
  • în centru se află forma însăși, unde are loc construcția vizuală.
  • în dreapta sunt proprietățile componente, împărțite în trei file (aceasta este o diviziune condiționată). Fila Cod este responsabilă pentru ceea ce va fi folosit în fișierul java.

Crearea de programe FX ar trebui să înceapă cu un container. ÎN în acest exemplu NetBeans folosit AnchorPane. Este destul de convenabil, permițându-vă să configurați indentarea „corectă” pentru elementele imbricate. Tab Containere contine si alte recipiente cu care te poti exersa pe cont propriu (n-am invatat nici macar jumatate din el :-)).

Ierarhia componentelor este un lucru foarte convenabil, permițându-vă să selectați rapid elementul dorit.

Conform termenilor caietului de sarcini, trebuie să avem un câmp de text. NetBeans folosește Label, dar nu vom elimina nimic, doar adăugăm un nou element TextField pe forma (arbitrar dupa gustul tau).

Previzualizarea este posibilă în SceneBuilder (Ctrl+P). În acest mod, doar forma și toate elementele sunt afișate „fără programare java”.

Acum punct important: pentru a putea folosi o componentă într-un program java (în codul nostru), trebuie făcute două lucruri.

Prima este să verificați dacă este specificat controlerul corect. În cazul nostru, NetBeans însuși a făcut deja totul și a specificat myfx.FXMLDocumentController .

După cum puteți vedea, acesta este controlerul din fișier FXMLDocumentController.java(pachet.controler). IDE-urile nu indică întotdeauna acest lucru, dar acest lucru este important, deoarece fișierul fxml (mai precis, codul java) îl folosește pentru legare.

Al doilea punct este că componenta utilizată trebuie să aibă propriul ID - acesta este parametrul fx:id. Aici am indicat textField1.

Un mesaj triunghi galben va apărea în partea de sus, indicând că se presupune că nu există nicio legătură între acest id și controler. Nu-i acorda atenție momentan, vom vorbi despre asta mai târziu.

Butonul care va umple câmpul de text trebuie să aibă și propriul id, precum și o metodă de eveniment onAction (acesta este evenimentul principal al componentei, și nu onClick, ca în Delphi). NetBeans s-a ocupat deja de asta, așa că nu va trebui să scriem nimic.

În acest moment construcția vizuală poate fi finalizată. Salvați și comutați la NetBeans. Vedem că dosarul FXMLDocument.fxml schimbat: adaugat textField1:

Acum trebuie să folosim cumva câmpul de text în codul java. Spre deosebire de Delphi, NetBeans nu creează niciun cod pentru asta, așa că va trebui să-l adăugăm semi-manual. Diferite IDE-uri folosesc metode diferite pentru aceasta, dar principiu general este că trebuie să plasați cursorul pe câmpul dorit din editor și să efectuați câteva "acțiune". În NetBeans se numește Instalați controlerulîn meniu Sursă. (Da, Java are probleme mari cu denumirea...)

După executarea acestei comenzi, va avea loc o tranziție la fișier FXMLDocumentController.java, unde la cod va fi adăugată o declarație de variabilă textField1:

Rețineți „@FXML” - această adnotare indică faptul că codul este utilizat în FXML într-un fel. După aceste modificări, SceneBuilder nu va mai emite un avertisment așa cum a făcut anterior triunghiul galben. Dacă rulați din nou SceneBuilder, puteți verifica acest lucru.

Lansăm programul de execuție pentru test. Acum sarcina noastră este să completăm câmpul de text făcând clic pe butonul. După cum ați înțeles deja metoda handleButtonAction face exact treaba potrivită. Adăugăm în el:

TextField1.setText("Bună ziua!");

Fiți atenți la modul în care funcționează completarea codului după ce punctul este apăsat.

Pe măsură ce tastați, NetBeans va restrânge opțiunile de unde puteți selecta opțiunea dorită. Această caracteristică face viața foarte ușoară pentru programatori, deoarece există prea multe opțiuni și acest lucru vă permite să evitați diferite tipuri de erori de sintaxă la tastare.

Această caracteristică este prezentă în toate IDE-urile, deși există diferențe în implementare și utilizare.

Lansăm programul și vedem că totul funcționează așa cum trebuie.

A trebuit să scriem o singură linie de cod și să facem câțiva pași suplimentari în editor.

Eclipsă

Eclipse durează puțin mai mult să pornească decât NetBeans. Mai întâi trebuie să specificați calea către SceneBuilder. Acest lucru se face în Fereastra - Preferințe - JavaFX.

Vă rugăm să rețineți că Eclipse nu este un program rusesc (nici măcar nu știu dacă există o limbă rusă pentru el).

Creați un nou proiect și selectați JavaFX.

Clic Următorulși accesați pagina de setări. Aici am indicat denumirea proiectului, ca si pana acum myfx(Am directoare de proiecte diferite pentru diferite IDE-uri, astfel încât acestea să nu se suprapună unele cu altele).

Aici trebuie să selectați tipul de aplicație, tipul de container și numele controlerului. Clic finalizarea iar Eclipse generează rapid scheletul viitorului nostru program.

Totul aici este foarte asemănător, a mai fost adăugat un singur fișier aplicație.css- da, da, în JavaFX poți folosi CSS pentru a personaliza designul! Eclipse a generat imediat codul de conectare pentru acest fișier.

Să rulăm programul și să ne asigurăm că nu există erori.

Spre deosebire de NetBeans, acest formular este complet gol. Să-l deschidem în SceneBuilder folosind meniul contextual.

Și aici vedem că nu există formă. Dar, de fapt, există - doar că dimensiunea calculată (înălțime și lățime) este utilizată implicit, care este în acest caz, egal cu zero. Nu există componente! În cazul nostru, nu este exact ceea ce avem nevoie, așa că vom selecta BorderPane în lista ierarhică și în proprietăți Lățimea prefȘi Pref Înălțime Să indicăm câteva valori. Aceste proprietăți specifică lățimea și înălțimea „dorite”. După aceasta, forma imediat „apare”.

Containerul BorderPane este format din 4 părți: sus, dreapta, jos, stânga și centru. Componentele ar trebui să fie plasate în părți diferite - poziția lor va depinde de aceasta atunci când dimensiunea ferestrei este schimbată.

Este destul de dificil de explicat în cuvinte, doar încercați să plasați câteva butoane, apoi redimensionați fereastra în previzualizare.

Nu m-am încântat prea mult și am plasat un câmp de text în partea de sus și un buton în centru.

Acum să verificăm dacă controlerul este specificat: în acest caz aplicație.SampleController- Eclipse a făcut treaba pentru noi.

Acum trebuie să specificăm id-ul pentru elementele noastre. Pentru butonul pe care l-am setat btn1, și câmpul de text textField1. Am primit din nou mesajul „triunghi galben”.

Pentru buton, specificam o metoda pentru eveniment - btn1Click.

Să salvăm și să revenim la Eclipse. Vom vedea că fișierul Sample.fxml actualizat, dar pictogramele de avertizare au apărut lângă unele rânduri.

Situația de aici este exact aceeași ca în NetBeans - trebuie să faceți editări într-un mod „semi-manual”. În Eclipse, acest lucru se face folosind meniul contextual pentru al doilea buton al mouse-ului: Soluție rapidă sau tastă rapidă Ctrl+1(oricare este mai convenabil).

În același timp, apare un indiciu despre acțiunea intenționată. De exemplu pentru textField1 Se propune adăugarea unui identificator la controlor:

iar pentru buton există și o metodă de gestionare a evenimentelor:

În același timp, Eclipse încetinește puțin și modificările nu sunt afișate imediat pe ecran. Aici trebuie fie să comutați la fișierul controlerului, fie să așteptați puțin. Ca urmare, modificările necesare vor fi adăugate codului și pictogramele de avertizare vor dispărea.

Să adăugăm codul nostru așa cum am făcut înainte în NetBeans.

Observați cum funcția de completare automată funcționează mai inteligent. În modul automat încetinește puțin, dar dacă apeși Ctrl+Spațiu(aceeași combinație este folosită în multe IDE-uri), acest lucru vă permite să obțineți ajutor bun.

Să lansăm programul nostru.

Și adăugăm un alt IDE la meritul nostru. :-)

IntelliJ IDEA

IntelliJ IDEA se lansează destul de lent, astfel încât să vă puteți verifica e-mailul. :-)

Din nou, specificați calea către SceneBuilder: Fișier - Setări:

Și indicați numele acestuia (ca de obicei - myfx):

IntelliJ IDEA se va inițializa și vom vedea cele trei fișiere deja familiare. Să rulăm programul pentru a verifica erorile.

Aceasta este, de asemenea, o formă goală, dar titlul programului este indicat. Dacă te uiți la cod Main.java, apoi vom vedea linia:

PrimaryStage.setTitle("Bună lume");

Acesta este titlul aplicației. În alte IDE-uri această linie lipsește, dar acum știm pentru ce este „scena teatrului”. ;-)

Comutați la SceneBuilder (similar cu Eclipse): cu al doilea buton al mouse-ului trebuie să selectați Deschideți în SceneBuilder.

Aici este și o formă goală, dar cu recipient GridPane. Instalare Lățimea prefȘi Pref Înălțime pentru a afișa formularul.

GridPane în sine este o grilă de celule pentru elemente. Cred că nu are rost să ne repetăm ​​- toate acțiunile vor fi similare:

  • plasați un buton și un câmp de testare,
  • atribuiți-le un ID,
  • pentru buton, specificați o metodă de procesare a clicului,
  • nu uitați să verificați dacă controlerul este specificat ( eşantion.Controller).

Închideți SceneBuilder și reveniți la IntelliJ IDEA. Aici trebuie să adăugați ID-uri la cod și, de asemenea, să creați o metodă de a reacționa la un clic pe buton.

IntelliJ IDEA oferă două moduri de a face acest lucru. În primul rând, când treceți mouse-ul peste „zona cu probleme”, va apărea un indiciu pe care puteți face clic pe:

Al doilea este o tastă rapidă Alt+Enter

De fiecare dată când îl adăugați, treceți la fișierul controlerului, unde puteți vedea imediat modificările.

În acest caz, rețineți că linia „@FXML” nu este adăugată. Dacă îl adăugăm manual înainte de variabile și metodă, atunci IntelliJ IDEA va oferi imediat să adauge clasa java necesară:

În general, IntelliJ IDEA dă dovadă de inteligență destul de bună și acționează ca asistent în scrierea codului. Și o face independent, fără apăsări inutile de butoane.

Ei bine, să adăugăm codul nostru pentru handler și să rulăm programul:

Super, totul funcționează!

Total

Concluzia principală este Programarea vizuală este posibilă în Java. Poate că nu este ideal, dar este destul de potrivit, mai ales pentru începători. Învățarea unei limbi este mult mai interesantă atunci când există un rezultat tangibil - OOP, cursurile și alte înțelepciuni sunt bune, dar este mai bine să începeți cu butoane, câmpuri de intrare, meniuri și tot ceea ce implică un program normal. Și consola este plictisitoare și neinteresantă.

Nu am menționat trei IDE-uri întâmplător. Există o mulțime de exemple pe Internet pentru Java și toate sunt pentru diferite programe. Personal, încă nu m-am hotărât asupra preferinței mele, deoarece toate au atât argumente pro, cât și contra. Probabil că trebuie să lucrăm cu toată lumea, atunci va fi clar.

Dar punctul cheie este capacitatea de a lucra cu SceneBuilder. Construirea unui formular în JavaFX este ușor diferită de Delphi, în primul rând prin utilizarea containerelor complexe (pot fi imbricate unul în celălalt). Prin urmare, ar trebui să vă ocupați mai întâi de ele, apoi puteți prelua singuri componentele.

Vă prezentăm atenției o adaptare a unui articol de Martin Heller, programator și editor al resursei JavaWorld. Probabil ați auzit deja despre primele trei cele mai populare IDE-uri pentru dezvoltarea Java. 90% dintre programatorii industriali folosesc fie Eclipse, NetBeans, fie IntelliJ IDEA, iar fiecare dintre aceste IDE-uri are propriile sale avantaje și dezavantaje. În acest articol vom încerca să le descriem astfel încât să înțelegeți care este potrivit pentru dvs. Deși, bineînțeles, este mai bine să le încerci pe toate trei la locul de muncă și să afli ce funcționează cel mai bine pentru tine. Nicio recenzie nu poate înlocui acest lucru. Am mai lucrat cu aceste IDE-uri, dar pentru acest studiu am instalat IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE și NetBeans 8.1 Java EE pe un laptop MacBook Pro. Am testat IDE-ul pe mai multe sursa deschisa proiecte Java.

La ce să vă așteptați de la un IDE

Un IDE modern pentru un „dezvoltator Java sănătos” ar trebui să accepte Java 8, Scala, Groovy, precum și alte limbaje de mașini virtuale Java pe care le folosește în mod regulat. Suportul pentru principalele servere de aplicații și pentru cele mai populare cadre web, inclusiv Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails și Vaadin, ar fi de asemenea util. IDE-ul trebuie să fie compatibil cu orice build de sistem de control al versiunilor, cum ar fi Ant, Maven sau Gradle, împreună cu Git, SVN, CVS, Mercurial sau Bazaar. În plus, pentru mediul de dezvoltare este important să poți lucra cu baze de date și cu stratul client al stivei tale, să ai suport pentru JavaScript încorporat, TypeScript, HTML, SQL, JavaServer Pages, Hibernate, precum și Java Persistence. API. În cele din urmă, este logic să sperăm că IDE-ul vă va permite să editați, să creați, să depanați și să testați sisteme fără stres inutil. În mod ideal, mediul de dezvoltare acceptă nu numai completarea inteligentă a codului, ci și refactorizarea inteligentă și metricile de cod. În multe cazuri, va fi util să sprijiniți cadrele și stub-urile de testare. Dacă echipa dvs. utilizează un sistem de bilete și CI/CD, aveți nevoie de IDE pentru a vă putea conecta la acestea. Și decideți dacă aveți nevoie de implementare și depanare în containere și cloud. Am enumerat doar așteptările de bază (poate că aveți ceva de adăugat), iar acum să aruncăm o privire mai atentă la concurenții noștri.

IntelliJ IDEA


În ceea ce privește caracteristicile și prețul, IntelliJ IDEA vine în două versiuni: ediția gratuită Community și ediția Ultimate plătită cu funcționalitate extinsă. Ediția comunitară este concepută pentru dezvoltarea JVM și Android. Versiunea gratuită acceptă Java, Kotlin, Groovy și Scala; Android; Maven, Gradle și SBT; functioneaza cu sisteme de control versiuni Git, SVN, Mercurial și CVS. Ultimate Edition este potrivită pentru dezvoltarea web și a întreprinderilor. Această versiune a IDE funcționează nu numai cu Git, SVN, Mercurial și CVS, ci și cu Perforce, ClearCase și TFS; în el puteți scrie în JavaScript și TypeScript; firesc există Suport Java EE, Spring, GWT, Vaadin, Play, Grails și alte câteva cadre. Și, desigur, nu ne-am putea lipsi de SQL și de instrumente pentru lucrul cu bazele de date. Ideea care îi ghidează pe dezvoltatorii acestui IDE atunci când creează Politica de prețuri, este că versiunea sa comercială (Ultimate) își va lua locul pe computerele profesioniștilor, datorită cărora productivitatea acestora va crește. Dacă un programator Java câștigă 50 de mii de dolari anual (sau chiar mai mult), rentabilitatea investiției cheltuită pentru IDE IntelliJ IDEA plătită (500 de dolari pentru un abonament anual) se va întâmpla foarte repede datorită chiar și unei ușoare accelerări a muncii sale. În anii următori, prețul pentru afaceri scade, pentru startup-uri și freelanceri este semnificativ mai mic, iar pentru studenți, profesori, campioni Java și dezvoltatori open source este complet gratuit. IntelliJ IDEA impresionează prin înțelegerea profundă a codului, ergonomia inteligentă, funcțiile de dezvoltare încorporate și suportul în mai multe limbi.
Figura 1. IntelliJ IDEA arată numărul de avertismente și presupuneri bazate pe analiza statistică a codului Java. Puteți studia ipotezele mai detaliat făcând clic pe ele, așa cum se arată în imagine; în multe cazuri veți primi o listă cu opțiuni și opțiuni de corectare.

Înțelegerea profundă a codului

Evidențierea sintaxelor și completarea simplă a codului sunt obișnuite pentru orice editor Java modern. IDEA a mers mai departe, oferind „completare automată inteligentă”. Acest termen înseamnă că mediul de dezvoltare arată o listă cu cele mai relevante simboluri aplicabile într-un context dat. Lista simbolurilor depinde nu numai de context ca atare, cel „general acceptat”, ci de stilul de programare al dezvoltatorului, de cât de des folosește anumiți operatori. „Chain Completion” arată chiar și o listă de simboluri aplicabile care sunt permise prin metode sau gettere în contextul curent. În plus, pentru membrii sau constantele statice, IDEA adaugă automat orice instrucțiuni de import necesare. În toate cazurile de completare automată, IDEA încearcă să ghicească tipul simbolului în timpul execuției, să-și rafineze selecția și chiar să aplice o distribuție de tip dacă este necesar. Codul Java include adesea fragmente din alte limbi sub formă de șiruri. IDEA poate injecta cod SQL, XPath, HTML, CSS sau JavaScript în literale șiruri Java. În acest sens, IDE-ul poate refactoriza codul în mai multe limbi. De exemplu, dacă redenumiți o clasă într-o mapare JPA, IDEA va actualiza entitatea JPA și clasa de expresie corespunzătoare. Când refactorizează o bucată de cod, dezvoltatorul are o singură dorință (destul de naturală): ca toate duplicatele acestui cod să fie și ele refactorizate. IDEA Ultimate găsește duplicate și fragmente similare și, de asemenea, le aplică refactoring. IntelliJ IDEA analizează codul la încărcare și direct pe măsură ce îl introduceți. Subliniază problemele suspectate (ca în imaginea noastră de mai sus) și oferă opțional o listă de soluții rapide probabile pentru problemele găsite.

Ergonomie


IntelliJ IDEA este conceput pentru a nu scoate un dezvoltator dintr-o stare de productivitate fluidă odată ce acesta este deja în ea. Fereastra Proiect, afișată în prima imagine din stânga, dispare ca simplu clic mouse-ul, astfel încât programatorul să se poată concentra pe fereastra editorului de cod. Pentru toate acțiunile necesare în timpul scrierii codului, există combinații de taste pentru apelarea rapidă a acestora, inclusiv definirea simbolurilor în ferestrele pop-up. La început, toate aceste combinații sunt greu de reținut, dar treptat te obișnuiești cu ele și doar le folosești. Cu toate acestea, chiar dacă programatorul nu folosește comenzi rapide de la tastatură, așa cum arată practica, se obișnuiește să lucreze în IDEA ușor și rapid. Aș dori să remarc în special depanatorul IDEA: valorile variabilelor sunt afișate direct în fereastra editorului, lângă codul sursă corespunzător. Când starea unei variabile se schimbă, se schimbă și culoarea de evidențiere.

Instrumente încorporate

IntelliJ IDEA oferă o interfață unică pentru a interacționa cu majoritatea sistemelor de control al versiunilor, inclusiv Git, SVN, Mercurial, CVS, Perforce și TFS. Puteți gestiona modificările direct în IDE, ceea ce este foarte convenabil. Când testam IDEA, am avut dorința ca cea mai recentă modificare a codului sursă să apară în fereastra editorului sub formă de adnotare (cum se întâmplă, de exemplu, în Visual Studio). După cum se dovedește, IDEA are un plugin special pentru asta. IDEA vine, de asemenea, cu instrumente de compilare, un timp de testare, instrumente de acoperire și o fereastră de terminal încorporată. IntelliJ nu are propriul profiler, dar pot fi conectate la acesta cu ajutorul unor pluginuri. De exemplu, YourKit, creat de un fost dezvoltator principal al JetBrains, sau VisualVM (care este o versiune reambalată a profilerului NetBeans). Depanarea în Java poate fi o durere când se întâmplă tot felul de lucruri misterioase la clase pentru care nu aveți sursa. IDEA include un decompilator pentru astfel de cazuri. Programarea pe server în Java necesită interacțiune frecventă cu bazele de date, astfel încât programatorii IDEA Ultimate vor aprecia comoditatea instrumentelor pentru lucrul cu SQL și bazele de date. Dar dacă capacitățile lor nu sunt suficiente pentru cineva, puteți achiziționa versiunea IDEA Ultimate cu un IDE SQL încorporat (DataGrip). Cu toate acestea, va fi puțin mai scump decât abonamentul obișnuit IDEA Ultimate. IntelliJ IDEA acceptă totul serverele principale aplicații JVM și vă permite să implementați și să depanați pe aceste servere, ceea ce elimină familiarul Programatori Java Dificultăți ale întreprinderii. IDEA acceptă și Docker (prin intermediul unui plugin care adaugă o fereastră specială de instrumente Docker în mediul de dezvoltare. Apropo, IDEA are o mulțime de pluginuri.

Un adevărat poliglot

IDEA a extins suportul de cod pentru Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS și alte cadre. Probabil ați observat că nu toate sunt specifice Java. IDEA „înțelege” alte limbi direct din cutie - Groovy, Kotlin, Scala, JavaScript, TypeScript și SQL. Dacă nu vedeți limba pe care o căutați în această listă, există în prezent 19 pluginuri de limbă IntelliJ, care acceptă în mod special R, Elm și D.


Timp de mulți ani, Eclipse a deținut palma în popularitate printre IDE-urile Java. Acest mediu este complet gratuit, open source, scris în principal în Java. Cu toate acestea, arhitectura sa modulară permite ca Eclipse să fie utilizat cu alte limbi. Proiectul Eclipse, inițiat de IBM, a apărut în 2001. Au vrut să înlocuiască familia IBM Visual Age de medii de dezvoltare bazate pe Smalltalk. Ei bine, scopul principal, așa cum sugerează chiar și numele, a fost să eclipseze Microsoft Visual Studio (eclipse în engleză înseamnă eclipsă). Portabilitatea Java îl ajută pe Eclipse să fie un mediu multiplatformă: acest IDE rulează pe Linux, Mac OS X, Solaris și Windows. La bine sau la rău, Java Standard Widget Toolkit (SWT) este cel puțin parțial responsabil pentru aspectul și senzația Eclipse. Eclipse își datorează performanța (sau, după cum spun unii simpatizanți, lipsa acestora) JVM-ului. Eclipse funcționează destul de lent, deoarece este înrădăcinat în hardware destul de vechi și versiuni vechi ale JVM-ului. Chiar și astăzi pare lent, mai ales dacă îi atașați o mulțime de plugin-uri. O parte din supraîncărcarea resurselor Eclipse poate fi atribuită compilatorului său incremental încorporat, care rulează ori de câte ori este încărcat un fișier sau este actualizat codul. Acesta este un lucru util; prinde erori la introducerea textului. Indiferent de construcție, proiectul Eclipse menține un model de conținut care conține informații despre ierarhia tipurilor, referințelor și declarațiilor elementelor Java. Versiunea actuală de Eclipse se numește Neon (4.6.0). Am instalat Eclipse Java EE IDE pentru dezvoltatori web (aceasta nu este singura opțiune, puteți alege altceva). Conține un SDK Eclipse minim, iar pluginurile sunt adăugate la cerere. Apropo, lucrul cu pluginuri în acest IDE nu este pentru cei slabi de inimă. Pluginurile de la terți sunt adesea în conflict între ele, deși specificațiile lor oficiale nu spun nimic despre acest lucru.
Figura 2. De la stânga la dreapta, există patru bare de instrumente Eclipse: Package Explorer, Java Editor, Java Class Structure și Task List. Proiectul încărcat în Eclipse în această imagine este cadrul de testare JUnit. Panourile pot fi schimbate cu ușurință.

Suport pentru pluginuri

Ecosistemul de pluginuri Eclipse este atât puterea IDE-ului, cât și una dintre principalele sale probleme. Din cauza incompatibilității pluginurilor, uneori, ansambluri întregi se blochează, iar programatorii trebuie să înceapă să lucreze din nou. În prezent, există peste 1.700 de plugin-uri scrise pentru Eclipse, oficiale și neoficiale, care pot sau nu să funcționeze grozav. Pluginurile Eclipse acceptă peste 100 de limbaje de programare și aproape 200 de cadre de dezvoltare a aplicațiilor. Majoritate Servere Java sunt de asemenea acceptate: dacă desemnați o nouă conexiune la server de la Eclipse, veți fi dus la o listă de foldere de furnizori unde veți găsi aproximativ 30 de servere de aplicații. Doar opțiuni Apache Tomcat vor fi până la nouă piese. Furnizorii comerciali tind să-și grupeze soluțiile: de exemplu, există un singur articol Red Hat JBoss Middleware, iar în interior veți găsi instrumente de server WildFly și EAP, precum și JBoss AS.

Editare, refactorizare și depanare

Prima ta experiență cu Eclipse poate fi confuză și chiar confuză. Primul pas este să configurați Eclipse și să vă obișnuiți cu arhitectura sa conceptuală a spațiilor de lucru, vizualizărilor și vizualizărilor. Toate acestea sunt determinate de pluginurile pe care le-ați instalat. Pentru dezvoltarea Java pe partea de server, veți utiliza probabil vizualizările de navigare Java, Java EE și Java, vizualizarea Explorer de pachete, vizualizarea de depanare, vizualizarea de sincronizare a comenzilor instrumentelor web, vizualizarea de dezvoltare a bazei de date și vizualizarea de depanare a bazei de date . În practică, totul are sens când deschizi ferestrele de care ai nevoie. Eclipse oferă aproape întotdeauna mai multe modalități de a rezolva o anumită problemă. De exemplu, puteți vizualiza codul utilizând perspectiva de navigare Java. Ce să alegi este o chestiune de gust și alegere. O căutare specială Java vă permite să găsiți declarații, referințe și apariții ale pachetelor Java, tipuri, metode, câmpuri. De asemenea, puteți utiliza accesul rapid la căutare și previzualizare. Modelele de cod comune pot fi generate din șabloane de cod. Java Refactoring în Eclipse acceptă 23 de operații, variind de la operațiuni comune de redenumire la transformări mai puțin evidente (ca în cartea lui Martin Fowler). Eclipse acceptă atât depanarea locală, cât și la distanță, cu condiția să utilizați un JVM care acceptă depanarea la distanță. Depanarea este destul de standard: definiți puncte de control, apoi vizualizați variabilele din fila de depanare. Desigur, puteți parcurge codul și evalua expresiile. Eclipse are o bază de date vastă de documentație de diferite vârste, valori și utilitate. Din păcate, găsirea unei imagini în instrucțiuni care nu corespunde versiunii curente, de exemplu, cu o interfață învechită și un aspect al butoanelor, este o întâmplare comună pentru acest IDE. Din păcate, problema actualizărilor tardive a documentației este foarte comună pentru orice proiecte de cod sursă.


NetBeans a început ca proiect student universitar la Praga în 1996. În 1997, IDE-ul a devenit un produs comercial, iar în 1999 a fost cumpărat de Sun Microsystems (părinții Java) și în anul următor a prezentat o versiune open source. Versiunea actuală 8.1 rulează pe mașini care rulează Windows, Mac OS X, Linux și Solaris. Ei bine, pachetul portabil poate fi rulat pe orice sistem pentru care există o mașină Java. Am descărcat pachetul Java EE pentru mine, este unul dintre cele șase pachete de descărcare posibile. Acest pachet acceptă JavaScript și HTML, GlassFish și Tomcat, dar nu acceptă PHP, C/C++/Fortran, Groovy și Grails: pot fi obținute în pachetul „All Inclusive” (sau pur și simplu „All”). Cu toate acestea, dacă doresc, pot descărca oricând suport pentru limbile de mai sus selectând pluginul corespunzător (sau oricare altul). NetBeans are mai puține dintre ele decât Eclipse, dar de obicei nu intră în conflict între ele. În această toamnă, Oracle (care a achiziționat NetBeans după achiziționarea Sun Microsystems) a decis să transfere acest mediu de dezvoltare sub aripa Apache Software Foundation, împreună cu toate drepturile, codul sursă, marca comercială, domeniul „netbeans.org” și o serie de alte infrastructuri. elemente. Prin urmare, viitorul proiectului este încă vag, deși anterior sistemul avea anumite privilegii aferente. Astfel, NetBeans a fost primul care a primit suport pentru Java 8 aproape imediat după lansarea platformei actualizate și a fost numit „IDE-ul oficial pentru Java 8”. Cu toate acestea, la o lună de la lansare, acest avantaj a fost pierdut: atunci și alte IDE-uri au primit suport pentru Java 8. Cu toate acestea, vreau să subliniez că suportul NetBeans pentru Java 8 este foarte bun, iar IDE-ul este excelent pentru a împleti trucurile Java 8 în cod „vechi”. Editorii, analizatorii de cod și convertoarele săi vor ajuta programatorul să actualizeze codul folosind constructe caracteristice Java 8 - expresii lambda, operatori funcționali și referințe de metodă. Pluginurile JavaScript din NetBeans 8 fac o treabă grozavă de a susține Node.js și cele mai noi instrumente JavaScript, cum ar fi Gulp și Mocha, precum și suport pentru interpretul JavaScript Nashorn.
Figura 3. Aici NetBeans rulează același proiect bazat pe Maven pe care IntelliJ IDEA a fost deschis în Figura 1. Observați funcționalitatea îmbunătățită în meniul contextual și submeniul de refactorizare

Editare și refactorizare

NetBeans Editor acceptă limbi, detectează erorile pe măsură ce tastați și vă ajută cu sfaturi și completare inteligentă a codului. Conform sentimentului subiectiv, IDE-ul face față acestei sarcini mai repede decât Eclipse, dar ceva mai lent decât IntelliJ IDEA. În plus, NetBeans are o gamă completă de instrumente de refactorizare (așa cum se arată în Figura 3) care permit programatorului să restructureze codul fără a-l rupe, să efectueze analize sursei și oferă, de asemenea, o gamă largă de sugestii pentru remedieri rapide sau extensii de cod. NetBeans include un instrument de proiectare pentru GUI de Swing, cunoscut anterior ca „Proiectul Matisse”. Dezvoltatorii apreciază foarte mult instrumentul de refactorizare automatizat Inspect & Transform, introdus în NetBeans 7.1. Vă permite să analizați codul proiectului și să faceți îmbunătățiri sugerate. Deși personal, prefer să testez mai întâi tot propriul cod cu teste unitare și abia apoi să rulez instrumente care pot face schimbări radicale. Am suferit în mod repetat de tot felul de corecții automate care au dus la consecințe ireparabile.

Construire, depanare și profilare

NetBeans are suport nativ excelent pentru Maven și Ant, precum și un plugin pentru Gradle. Am fost foarte fericit când am descoperit că proiectele Maven erau tratate ca „native” de către sistem. Aceasta înseamnă că pot fi pur și simplu deschise și nu importate. NetBeans conține, de asemenea, un afișaj grafic atractiv (și util) pentru dependențele Maven. Depanatorul NetBeans Java nu este rău, dar vine cu câteva avertismente. Un depanator vizual separat permite programatorului să facă capturi de ecran ale interfeței grafice cu utilizatorul și să exploreze interfețele aplicațiilor realizate folosind JavaFX și Swing. Profilul NetBeans face mai evident modul în care CPU și memoria sunt folosite și au instrumente grozave pentru a găsi scurgeri de memorie.

Comparația trio-ului de giganți

Am folosit toate cele trei IDE-uri, Eclipse, NetBeans și IntelliJ IDEA, de-a lungul anilor, în ordinea cronologică enumerată. De fiecare dată când treceam la un IDE diferit, simțeam că productivitatea mea crește. Dar chiar și atunci când eram ferm convins că IDEA era alegerea mea finală, uneori a trebuit să mă întorc la unul dintre cele două IDE-uri rămase. Așa a fost, de exemplu, într-o perioadă în care Eclipse era singurul instrument care a susținut dezvoltarea Android (azi există Android Studio, actualul IDE oficial pentru Android, se bazează pe IntelliJ IDEA). Desigur, toate cele trei IDE-uri au fanii și detractorii lor. Cunosc o mulțime de dezvoltatori Java care iubesc IntelliJ IDEA, precum și fani loiali Visual Studio C++ și C#. De cele mai multe ori, acești oameni sunt mulțumiți de faptul că productivitatea lor a crescut, iar costul abonamentului anual este rambursat după doar câteva săptămâni de utilizare a versiunii plătite a IDEA. Cu toate acestea, utilizatorii NetBeans și Eclipse sunt adesea atașați de instrumentele lor și se întreabă de ce alți programatori sunt dispuși să plătească bani pentru IDEA. Aș sfătui noilor dezvoltatori Java să stea departe de Eclipse. În ciuda faptului că este încă cel mai popular IDE pentru Java, este dificil pentru începători: este ușor să te pierzi în sălbăticia Eclipse, atât în ​​timpul instalării sistemului, cât și în timpul lucrului zilnic. Eclipse are cel mai extins ecosistem de pluginuri dintre toate IDE-urile și este, de asemenea, cel mai probabil să se blocheze din cauza instalării unui set incompatibil de aceleași plugin-uri. Din păcate, în timp ce foloseam Eclipse, a trebuit în mod repetat să scot un alt ansamblu rupt al acestui IDE și să instalez un pachet „curat”. NetBeans este bun pentru majoritatea dezvoltatorilor, are un profiler grozav și îl folosesc uneori. Cu toate acestea, prefer să plătesc pentru IntelliJ IDEA Ultimate. Și viitorul NetBeans este încă neclar. Pentru dezvoltatorii Java noi care nu au încă bugetul necesar pentru a cumpăra instrumente, recomand să folosească NetBeans sau IntelliJ IDEA Community Edition în funcție de nevoile lor. Primul merită ales pentru cei care codifică servere Java, dar numai dacă nu intrați în categoria celor care pot obține IntelliJ IDEA Ultimate gratuit sau cu o reducere uriașă (studenți sau acei programatori care dezvoltă o sursă deschisă). proiect).

IDE Java „ușoară”.

Astăzi, majoritatea dezvoltatorilor Java folosesc IDEA, NetBeans sau Eclipse, dar uneori este nevoie de medii de dezvoltare mai ușoare sau chiar editori de cod precum Sublime Text, emacs sau vim care acceptă pluginuri Java. Am enumerat mai jos opțiuni rezonabile pentru cei care caută ceva mai ușor:
  • DrJava este un mic mediu de dezvoltare gratuit. A fost creat pentru studenții de la Universitatea Rice și a devenit destul de popular: DrJava a fost deja descărcat de peste 2 milioane de ori. DrJava este conceput pentru a promova dezvoltarea bazată pe teste. Cadrul conține un editor de cod inteligent, un panou de interacțiune pentru evaluarea codului aplicației, un depanator la nivel sursă și instrumente de testare unitară.
  • BlueJ este un mediu de dezvoltare Java gratuit creat de specialiști de la Universitatea Kent pentru programatori începători. Acest mediu este susținut de Oracle. BlueJ are o interfață mult mai curată și mai simplă decât IDE-urile profesionale precum NetBeans sau Eclipse și chiar include un tutorial dedicat despre elementele de bază OOP.
  • JCreator este un alt mic IDE Java pentru Windows, scris în C++ (din motive de performanță). Versiune cu plată Pro este echipat cu un depanator, suport pentru Ant și vrăjitori de cod, dar versiunea gratuită (LE) nu are.
  • Eclipse Che este un IDE cloud bazat pe browser care acceptă Java, C++, JavaScript, Python, PHP, Ruby și SQL.

Alegerea unui IDE Java în funcție de proiect

Am încercat să descriu beneficiile importante ale fiecăruia dintre cele mai importante trei IDE-uri Java și am menționat pe scurt micii lor rivali utili. Pentru a alege IDE-ul potrivit, trebuie să cântăriți argumentele pro și contra și să le comparați cu nevoile dvs. și cu nevoile proiectelor dvs. Dacă vă alăturați unei echipe, este o idee bună să utilizați același IDE ca și alți dezvoltatori, deși nu este necesar. Dacă echipa dvs. găzduiește surse pe GitHub, va fi desigur mai convenabil dacă IDE-ul dvs. acceptă GitHub. Da, puteți gestiona transferul de cod fără un IDE folosind clientul GitHub sau Linie de comanda git. Dar cât de eficiente vor fi astfel de salturi între diferite sisteme? De asemenea, este important ca IDE-ul să suporte sistemul de compilare. De exemplu, dacă acesta este Maven, este puțin probabil să doriți să reconstruiți sistemul în Ant pentru testare locală. Din fericire, toate cele trei mari IDE-uri Java acceptă Ant, Maven și Gradle, fie din cutie, fie cu un plugin. Dar pentru IDE-urile „mici” acest lucru poate să nu fie adevărat. Este destul de firesc să dorești sprijin din partea mediului de dezvoltare. versiuni JRE, care este utilizat în proiect. Dacă versiunile nu se potrivesc, există o mare probabilitate de a obține o mulțime de bug-uri suplimentare, care, de exemplu, vor apărea la tine, dar nu și la alți membri ai echipei. Este puțin probabil ca o astfel de situație să aibă un efect bun asupra karmei tale. Sincer, inconsecvența JRE este mai probabil să apară din cauza erorilor de configurare decât din cauza lipsei de suport IDE, cu excepția cazului în care IDE-ul nu s-a actualizat încă la o nouă versiune de Java. Credeți doar că, dacă IDE-ul dvs. acceptă pe deplin cadrele și tehnologiile care sunt utilizate în proiect, chiar ajută la accelerarea lucrărilor. Cel mai probabil îl vei gestiona oricum. Dar, dacă IDE-ul înțelege modul în care declarațiile JPA se referă la clasele de entități și expresii JPA (cum ar fi IntelliJ), veți petrece mult mai puțin timp pe codul JPA decât dacă înțelegeți complet greșit. Ei bine, dacă IDE-ul acceptă cadrul de testare și executorul de cod folosit pentru proiect, puteți rula teste fără a schimba mediul de lucru. Acest lucru va accelera, de asemenea, procesul de dezvoltare. În cele din urmă, munca merge mai repede dacă IDE-ul este compatibil cu sistemul de urmărire a erorilor și de bilete al proiectului. Din nou, puteți folosi un client autonom sau web, să spunem JIRA, dar este greu să fiți de acord că verificarea biletelor este mult mai rapidă fără a schimba fereastra, rămânând în același timp direct în IDE.

Gratuit sau plătit?

După ce am testat IntelliJ IDEA Ultimate, am simțit că este un mediu de dezvoltare potrivit. Un fel de Cadillac al lumii IDE. Din nou, deși nu este gratuit, cred că câștigurile de productivitate din utilizarea lui merită abonamentul anual. Pentru începătorii care nu își permit un abonament anual IntelliJ IDEA Ultimate, recomand să folosească NetBeans mai degrabă decât Eclipse. Desigur, ecosistemul de pluginuri Eclipse este mult mai dezvoltat astăzi decât orice alt IDE, dar este foarte depășit și neîngrijit: un dezvoltator începător riscă să rămână blocat în jungla IDE-ului în loc să fie scufundat în muncă. Am atins și alternativele „ușoare”, dintre care două au fost concepute special pentru scopuri educaționale. Ei bine, dacă abia începi să înveți limbi străine și preferi un mediu minimalist - de ce nu?

Descarca pachet de instalare poate fi găsit pe site-ul Oracle folosind link-ul:

Să instalăm Java.

Pentru a instala Java pe computer, rulați fișierul descărcat, după care va începe procesul de instalare (Figura 1.2).

Faceți clic pe Următorul.

Instalarea implicită va avea loc în directorul C:\Program Files\Java\jdk1.x.x_xx (în loc de numărul versiunii X), dacă se dorește, directorul poate fi schimbat făcând clic pe butonul Modificare (Figura 1.3).

Urmați instrucțiunile asistentului de instalare și instalarea se va finaliza în câteva minute.

Odată finalizată instalarea, programul vă va solicita să accesați documentația tehnică și manualele Java, pentru care va trebui să faceți clic pe butonul Următorii pași. Acest lucru vă va deschide browserul la pagina de documentație Java http://docs.oracle.com/javase/, care este foarte util de învățat.

Configurarea variabilelor de mediu.

Următorul pas este să setați căile către fișierele executabile, și anume setați variabilele de sistem PATH, CLASSPATH și JAVA_HOME.

Pentru a face acest lucru, deschideți Panou de control -> Sistem, tu iei Parametri suplimentari de sistem.În fereastra care apare, faceți clic pe butonul variabile de mediu.

În fereastra care se deschide în bloc Variabile de sistem trebuie să verificați dacă variabila există CALE, dacă variabila nu există, atunci aceasta trebuie creată făcând clic pe butonul Crea, dacă variabila PATH există deja, atunci este necesară Schimbare(Fig. 1.4).

În fereastra următoare pentru variabila PATH trebuie instalat Valoare variabilă— calea către directorul în care a fost instalat Java (Fig. 1.5).

Dacă variabilei PATH i-au fost deja atribuite alte valori, atunci noua valoare este adăugată separată prin punct și virgulă „;” chiar la capătul liniei.

De asemenea, trebuie să creați o variabilă CLASSPATH, dacă nu a fost încă creat. Trebuie să specificați „.;” ca valoare. (Fig. 1.6).

Acesta este modul în care o variabilă este creată/modificată JAVA_HOME. Valoarea acestei variabile este calea către directorul în care a fost instalat Java (ca și pentru PAHT), dar fără subdirectorul bin. De exemplu:

valoarea PATH: C:\Program Files\Java\jdk1.7.0_25\bin

Valoare în JAVA_HOME: C:\Program Files\Java\jdk1.7.0_25

După ce variabilele au fost specificate, Instalarea Java este acum finalizată!

Verificarea instalării.

Pentru a verifica dacă instalarea a avut succes, deschideți un prompt de comandă. În acest scop în meniul WindowsÎncepeți în bara de căutare, introduceți comanda cmdși apăsați Enter. După aceasta, se va deschide o fereastră de comandă în care trebuie să introduceți următoarea comandă.

După care, dacă sunt afișate informații despre versiunea instalată de java, atunci instalarea a avut succes.

Probleme frecvente:

  • „java” nu este o comandă internă sau externă, un program executabil sau un fișier batch.

Verificați dacă calea specificată în PATH este corectă. Încercați să evitați spațiile în numele folderului în care instalați JDK. Dacă credeți că calea este scrisă corect, atunci ar trebui să vă asigurați că fișierul javac.exe este prezent în directorul listat în linia PATH și că a fost instalat JDK, nu JDE,

  • nu este o aplicație win 32

Apare ca urmare a instalării unei versiuni Java care nu se potrivește cu adâncimea de biți a sistemului (de exemplu, la instalarea 64 versiunea bit Java la un sistem de operare pe 32 de biți).

  • Eroare la solicitarea dvs. să verificați JAVA_HOME

Verificați dacă această variabilă stochează calea către instalat JAVA(fara cos)

Java este un limbaj de programare puternic care acceptă multe platforme. Fiecare are propriul mediu de dezvoltare - să vedem care dintre ele.

1 - NetBeans

Cândva deținut de Sun Microsystems și acum de Oracle, NetBeans este unul dintre cele mai bune IDE-uri din ultimul deceniu. NetBeans - mediu modular dezvoltare, iar toate caracteristicile IDE-ului vin în pachete numite module. Oferă o integrare ușoară cu software-ul de control al versiunilor. NetBeans a fost creat ca sursă deschisă, astfel încât toată lumea să poată contribui la dezvoltarea sa. Este gratuit și funcționează pe majoritatea sisteme de operareși platforme.

  • Dezvoltator: Oracle.
  • Pret: Gratuit.
  • Dimensiune: 186 MB pentru versiunea Java EE.

2 - IDEA IntelliJ

IntelliJ este un IDE Java cu sursă închisă și unul dintre IDE-urile principale pentru Java (celelalte două fiind Eclipse și NetBeans). IntelliJ IDEA are o interfață excelentă și modernă. A fost ales ca IDE de bază pentru Android Studio, un nou software pentru crearea de aplicații Android dezvoltat de Google.

CU Există două versiuni de IntelliJ - Community Edition, care este gratuită și Ultimate Edition, care este pe deplin recunoscută și necesită utilizarea licențelor plătite.

  • Dezvoltator: JetBrains.
  • Platforme: Windows, Mac și Linux.
  • Preț: plătit (licență de utilizator individual de 199 USD). Gratuit pentru studenți, există și o versiune open source - de asemenea gratuită.
  • Dimensiune: 180 MB pentru Community Edition, 290 MB pentru Ultimate Edition.

3 - Eclipsa

Eclipse este unul dintre cele mai populare IDE-uri, nu numai pentru Java, ci și pentru C++ cu PHP. Eclipse este un instrument open source cu o mare comunitate de dezvoltatori. De asemenea, are o bibliotecă uriașă de plugin-uri create de utilizatorii înșiși. Acest IDE are multe versiuni, cea mai populară este Eclipse Oxygen . Eclipse a fost, de asemenea, IDE-ul de bază pentru Android vechi SDK (kit de dezvoltare software).

  • Dezvoltator: Eclipse Foundation.
  • Pret: Gratuit.
  • Dimensiune: Pachetul de descărcare Eclipse Oxygen pentru Java EE este de 180 MB.

4 - JDeveloper

JDeveloper este un mediu de dezvoltare complet gratuit lansat de Oracle. JDeveloper oferă mai multe caracteristici precum: refactorizare; Controlul versiunii Git; audit și metrici; cod de depanare și profilare; Susține Ant și Maven. Vine în două versiuni:Studio Edition, care are un set complet încărcat de instrumente pentru crearea de programe Java și Java Edition, care nu are caracteristici J2EE, ADF, UML și baze de date, dar această versiune ocupă mai puțin spațiu și este mai rapidă. Java Edition are toate caracteristicile de bază necesare pentru Java și ar trebui să satisfacă majoritatea programatorilor Java începători.

  • Dezvoltator: Oracle.
  • Platforme: Windows, Mac și Linux.
  • Pret: Gratuit.
  • Dimensiune: Java Edition -181 MB, Studio Edition -1,8 GB.

5 -Dr. Java

Dr. Java este un IDE Java ușor care este susținut de proiectul SourceForge. Este destinat în primul rând programatorilor și studenților începători, dar are și funcții avansate pentru programatori profesioniști. Acesta este un proiect gratuit și open source. Dr. Java este întreținut de grupul JavaPLT de la Universitatea Rice. Interfața sa a fost dezvoltată folosind setul de instrumente Swing dezvoltat de Sun Microsystems.

  • Dezvoltator: JavaPLT.
  • Platforme: Windows, Mac și Linux.
  • Pret: Gratuit.
  • Dimensiune: 13 MB

6 - AlbastruJ

BlueJ este un IDE Java cu sursă deschisă creat în scopuri educaționale. Este, de asemenea, potrivit pentru dezvoltarea proiectelor software mici. Interfața BlueJ este destul de simplă, astfel încât începătorii o pot folosi cu ușurință. Afișează clase și obiecte într-un mod curat, vizual. Scopul principal al BlueJ este de a preda programarea orientată pe obiecte, astfel încât proiectul este potrivit pentru începători.

  • Dezvoltator: King's College London, University of Kent.
  • Platforme: Windows, Mac și Linux.
  • Pret: gratuit.
  • Dimensiune: 160-170 MB (inclusiv JDK).

7 - jCreator

jCreator este un IDE Java rapid și eficient scris în C++ (ceea ce se presupune că îl face mai rapid decât alte IDE-uri scrise în Java). Are o interfață similară cu cea anterioară Versiuni vizuale Studio și vă permite să-l personalizați după cum doriți. jCreator este un IDE plătit, dar este disponibilă o versiune gratuită, fără caracteristici precum completarea codului. jCreator oferă suport doar pentru Windows, dar poate fi rulat pe Linux folosind Vine.

  • Dezvoltator: Xinox Software.
  • Platforme: Windows.
  • Preț: de la 30 USD la 1600 USD, versiune de încercare disponibilă.
  • Dimensiune: 7,2 MB pentru versiunea de probă.

8 - jAprinderea

jGrasp este un alt IDE Java foarte ușor, care se concentrează pe vizualizarea software-ului. Are caracteristici precum diagramele de clasă UML care ajută la îmbunătățirea lizibilității codului. jGrasp generează automat vizualizări și are, de asemenea, motoare de identificare a structurii de date, vizualizatoare de obiecte dinamice și alte câteva caracteristici care prezintă codul Java într-un format frumos, ușor de citit.

  • Dezvoltator: Universitatea Auburn.
  • Platforme: Windows, Mac și Linux.
  • Pret: Gratuit.
  • Dimensiune: 5 MB.

9 - Greenfoot

Greenfoot este un IDE Java educațional. Se bazează în mare măsură pe vizualizarea structurilor de date și este optimizat pentru crearea de programe simple și jocuri Java 2D. Greenfoot are o funcție de partajare online care este configurată direct în mediu. Utilizatorii își pot partaja programele online pentru ca alții să le vadă și să primească ajutor și feedback. Proiectele de colaborare pot fi editate online. În general, Greenfoot este grozav pentru începători.

  • Dezvoltator: King's College London, Oracle.
  • Platforme: Windows, Mac și Linux.
  • Pret: Gratuit.
  • Dimensiune: 162 MB pentru Windows (inclusiv JDK).

10 - Codenvy

Codenvy este un IDE pur bazat pe cloud, ceea ce înseamnă că nu necesită instalare. Codenvy are toate caracteristicile unui IDE de sine stătător cu funcții complete, inclusiv medii de construire/rulare/depanare. Abilitatea de a colabora în timp real este una dintre caracteristicile de dorit ale Codenvy. Codenvy are o interfață excelentă și mai multe opțiuni de spațiu de lucru. Este disponibil după plata unei taxe lunare de abonament. Ediția comunitară a Codenvy este gratuită.

  • Dezvoltator: Codenvy Inc.
  • Platforme: bazate pe browser.
  • Preț: gratuit pentru ediția comunitară Abonament la versiunea premium de la 1 USD/lună.

Concluzie

Deoarece Java este un limbaj de programare multiplatformă, aproape toate mediile de dezvoltare sunt, de asemenea, multiplatforme. Cu toate acestea, din nou, alegerea IDE-ului depinde și de preferințele personale, scopurile de utilizare și nivelul de calificare. Noroc!

5 (100%) 1 vot