JavaRush /Java Blog /Random-IT /Eclipse, NetBeans o IntelliJ IDEA? Scelta di un IDE per l...
Bender
Livello 1
Маунтин-Вью

Eclipse, NetBeans o IntelliJ IDEA? Scelta di un IDE per lo sviluppo Java

Pubblicato nel gruppo Random-IT
Eclipse, NetBeans o IntelliJ IDEA?  Scelta di un IDE per lo sviluppo Java - 1Presentiamo alla vostra attenzione un adattamento di un articolo di Martin Heller, programmatore ed editore della risorsa JavaWorld. Probabilmente hai già sentito parlare dei tre IDE più popolari per lo sviluppo Java. Il 90% dei programmatori industriali utilizza Eclipse, NetBeans o IntelliJ IDEA e ciascuno di questi IDE presenta vantaggi e svantaggi. In questo articolo proveremo a descriverli in modo che tu possa capire quale fa al caso tuo. Anche se, ovviamente, è meglio provarli tutti e tre al lavoro e scoprire cosa funziona meglio per te. Nessuna recensione può sostituirlo.

Cos'è un ambiente di sviluppo?

La risposta molto breve è che un ambiente di sviluppo è un programma o più programmi utilizzati per creare programmi. Questo processo include effettivamente la scrittura del codice, il debugging, l'avvio e l'integrazione con i sistemi di controllo della versione. Se prima gli sviluppatori utilizzavano spesso un semplice editor di testo (a volte anche senza evidenziazione della sintassi), come Blocco note e riga di comando, ora utilizzano più spesso processori all-in-one, ambienti di sviluppo integrati o IDE.

Cos'è un IDE?

Ambiente di sviluppo integrato o in inglese Ambiente di sviluppo integrato - IDE - è un programma che contiene strumenti per lo sviluppo di software. In genere, un ambiente di sviluppo moderno include:
  • Editor di testo con evidenziazione del codice;
  • compilatore o interprete;
  • Browser delle classi, controllo oggetti e diagramma della gerarchia delle classi;
  • strumenti di automazione dell'assemblaggio;
  • debugger;
  • strumenti per l'integrazione con sistemi di controllo versione (Git);
  • strumenti per semplificare la progettazione di un'interfaccia utente grafica.
Ho già lavorato con questi IDE, ma per questo studio ho installato IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE e NetBeans 8.1 Java EE su un laptop MacBook Pro. Ho testato l'IDE su diversi progetti Java open source.

Cosa aspettarsi da un IDE

Un IDE moderno per un "sano sviluppatore Java" dovrebbe supportare Java 8, Scala, Groovy e altri linguaggi di macchina virtuale Java che utilizza regolarmente. Sarebbe utile anche il supporto per i principali server applicativi e i framework web più diffusi, tra cui Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails e Vaadin. L'IDE deve essere compatibile con qualsiasi build di sistema di controllo della versione, come Ant, Maven o Gradle, insieme a Git, SVN, CVS, Mercurial o Bazaar. Inoltre, per l'ambiente di sviluppo è importante essere in grado di lavorare con i database e il livello client del proprio stack, avere il supporto per JavaScript integrato, TypeScript, HTML, SQL, JavaServer Pages, Hibernate e Java Persistence API. Infine, è logico sperare che l'IDE ti permetta di modificare, creare, eseguire il debug e testare i sistemi senza stress inutili. Idealmente, l'ambiente di sviluppo supporta non solo il completamento intelligente del codice, ma anche il refactoring intelligente e la metrica del codice. In molti casi, sarà utile supportare i framework e gli stub di test. Se il tuo team utilizza un sistema di ticket e CI/CD, hai bisogno dell'IDE per poterti connettere. E decidi se hai bisogno di distribuzione e debug in contenitori e cloud. Abbiamo elencato solo le aspettative di base (forse hai qualcosa da aggiungere), e ora diamo uno sguardo più da vicino ai nostri concorrenti.

IDEA IntelliJ

Eclipse, NetBeans o IntelliJ IDEA?  Scelta di un IDE per lo sviluppo Java - 2In termini di caratteristiche e prezzo, IntelliJ IDEA è disponibile in due versioni: l'edizione Community gratuita e l'edizione Ultimate a pagamento con funzionalità estese. L'edizione Community è progettata per lo sviluppo JVM e Android. La versione gratuita supporta Java, Kotlin, Groovy e Scala; androide; Maven, Gradle e SBT; funziona con i sistemi di controllo della versione Git, SVN, Mercurial e CVS. L'edizione Ultimate è adatta per lo sviluppo web e aziendale. Questa versione dell'IDE funziona non solo con Git, SVN, Mercurial e CVS, ma anche con Perforce, ClearCase e TFS; in esso puoi scrivere in JavaScript e TypeScript; Naturalmente c'è il supporto per Java EE, Spring, GWT, Vaadin, Play, Grails e una serie di altri framework. E, naturalmente, non potremmo fare a meno di SQL e degli strumenti per lavorare con i database. L'idea che guida gli sviluppatori di questo IDE quando formulano una politica dei prezzi è che la sua versione commerciale (Ultimate) prenderà il suo posto sui computer dei professionisti, grazie alla quale aumenterà la loro produttività. Se un programmatore Java guadagna 50mila dollari all'anno (o anche di più), il ritorno sull'investimento speso per l'IDE IntelliJ IDEA a pagamento (500 dollari per un abbonamento annuale) avverrà molto rapidamente grazie anche ad una leggera accelerazione del suo lavoro. Negli anni successivi il prezzo per le aziende diminuisce, per startup e liberi professionisti è notevolmente più basso e per studenti, insegnanti, campioni Java e sviluppatori open source è completamente gratuito. IntelliJ IDEA colpisce per la profonda comprensione del codice, l'ergonomia intelligente, le funzionalità di sviluppo integrate e il supporto multilingue. Eclipse, NetBeans o IntelliJ IDEA?  Scelta di un IDE per lo sviluppo Java - 3
Figura 1. IntelliJ IDEA mostra il numero di avvisi e ipotesi basati sull'analisi statistica del codice Java. Puoi studiare le ipotesi più in dettaglio cliccando su di esse, come mostrato in figura; in molti casi riceverai un elenco con scelte e opzioni di correzione.

Comprensione profonda del codice

L'evidenziazione della sintassi e il semplice completamento del codice sono comuni per tutti i moderni editor Java. IDEA è andata oltre offrendo il “completamento automatico intelligente”. Questo termine significa che l'ambiente di sviluppo mostra un elenco dei simboli più rilevanti applicabili in un dato contesto. L'elenco dei simboli dipende non solo dal contesto in quanto tale, quello “generalmente accettato”, ma dallo stile di programmazione dello sviluppatore, dalla frequenza con cui utilizza determinati operatori. "Completamento catena" mostra anche un elenco di simboli applicabili consentiti tramite metodi o getter nel contesto corrente. Inoltre, per i membri statici o le costanti, IDEA aggiunge automaticamente tutte le istruzioni di importazione necessarie. In tutti i casi di completamento automatico, IDEA tenta di indovinare il tipo del simbolo in fase di esecuzione, perfezionarne la selezione e persino applicare un cast di tipo, se necessario. Il codice Java spesso include frammenti di altri linguaggi come stringhe. IDEA può inserire codice SQL, XPath, HTML, CSS o JavaScript in stringhe letterali Java. In questo senso, l'IDE può effettuare il refactoring del codice in più lingue. Ad esempio, se rinomini una classe in una mappatura JPA, IDEA aggiornerà l'entità JPA corrispondente e la classe di espressione. Durante il refactoring di una parte di codice, lo sviluppatore ha un desiderio (abbastanza naturale): che anche tutti i duplicati di questo codice vengano refactoring. IDEA Ultimate trova duplicati e frammenti simili e applica loro anche il refactoring. IntelliJ IDEA analizza il codice al momento del caricamento e direttamente mentre lo inserisci. Indica i problemi sospetti (come nella nostra immagine sopra) e facoltativamente offre un elenco di probabili soluzioni rapide ai problemi rilevati.

Ergonomia

Eclipse, NetBeans o IntelliJ IDEA?  Scelta di un IDE per lo sviluppo Java - 4IntelliJ IDEA è progettato in modo da non far uscire uno sviluppatore da uno stato di produttività fluida una volta che ci è già dentro. La finestra Progetto, mostrata nella prima immagine a sinistra, scompare con un semplice clic del mouse in modo che il programmatore possa concentrarsi sulla finestra dell'editor del codice. Per tutte le azioni necessarie durante la scrittura del codice, esistono combinazioni di tasti per richiamarle rapidamente, inclusa la definizione di simboli nelle finestre popup. All'inizio, tutte queste combinazioni sono difficili da ricordare, ma gradualmente ti abitui e le usi solo. Tuttavia, anche se il programmatore non utilizza scorciatoie da tastiera, come dimostra la pratica, si abitua facilmente e rapidamente a lavorare in IDEA. Vorrei sottolineare in particolare il debugger IDEA: i valori delle variabili vengono visualizzati direttamente nella finestra dell'editor, accanto al codice sorgente corrispondente. Quando cambia lo stato di una variabile, cambia anche il colore di evidenziazione.

Strumenti integrati

IntelliJ IDEA fornisce un'interfaccia unificata per la maggior parte dei sistemi di controllo della versione, inclusi Git, SVN, Mercurial, CVS, Perforce e TFS. Puoi gestire le modifiche direttamente nell'IDE, il che è molto comodo. Quando stavo testando IDEA, desideravo che l'ultima modifica nel codice sorgente venisse visualizzata nella finestra dell'editor come annotazione (come accade, ad esempio, in Visual Studio). A quanto pare, IDEA ha un plugin speciale per questo. IDEA include anche strumenti di creazione, un runtime di test, strumenti di copertura e una finestra terminale integrata. IntelliJ non dispone di un proprio profiler, ma è possibile collegarsi ad esso tramite plugin di terze parti. Ad esempio, YourKit, creato da un ex sviluppatore principale di JetBrains, o VisualVM (che è una versione riconfezionata del profiler NetBeans). Il debug in Java può essere una seccatura quando accadono cose misteriose a classi di cui non si dispone la fonte. IDEA include un decompilatore per questi casi. La programmazione lato server in Java richiede una frequente interazione con i database, quindi i programmatori di IDEA Ultimate apprezzeranno la comodità degli strumenti per lavorare con SQL e database. Ma se le loro capacità non sono sufficienti per qualcuno, puoi acquistare la versione IDEA Ultimate con un IDE SQL integrato (DataGrip). Tuttavia, sarà leggermente più costoso del normale abbonamento IDEA Ultimate. IntelliJ IDEA supporta tutti i principali server di applicazioni JVM e consente di eseguire la distribuzione e il debug su questi server, eliminando le difficoltà familiari a tutti i programmatori Java Enterprise. IDEA supporta anche Docker (tramite un plugin che aggiunge una speciale finestra dello strumento Docker all'ambiente di sviluppo. A proposito, IDEA ha un sacco di plugin.  

Un vero poliglotta

IDEA ha ampliato il supporto del codice per Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS e altri framework. Probabilmente hai notato che non tutti sono specifici di Java. IDEA "capisce" altri linguaggi immediatamente: Groovy, Kotlin, Scala, JavaScript, TypeScript e SQL. Se non vedi la lingua che stai cercando in questo elenco, ci sono attualmente 19 plugin di lingua IntelliJ, che supportano specificamente R, Elm e D.

IDE di Eclipse

Eclipse, NetBeans o IntelliJ IDEA?  Scelta di un IDE per lo sviluppo Java - 5 Circa 10 anni fa, alla domanda sul miglior IDE, uno sviluppatore Java rispose con sicurezza: Eclipse. Per molti anni, questo ambiente di sviluppo ha detenuto con sicurezza la palma tra gli IDE Java. Questo ambiente è completamente gratuito, open source, scritto principalmente in Java. Tuttavia, la sua architettura modulare consente di utilizzare Eclipse con altri linguaggi. Il progetto Eclipse, avviato da IBM, è apparso nel 2001. Volevano sostituire la famiglia di ambienti di sviluppo IBM Visual Age basati su Smalltalk. Ebbene, l'obiettivo principale, come suggerisce anche il nome, era quello di eclissare Microsoft Visual Studio (eclipse in inglese significa eclissi). La portabilità di Java aiuta Eclipse a essere un ambiente multipiattaforma: questo IDE funziona su Linux, Mac OS X, Solaris e Windows. Nel bene e nel male, Java Standard Widget Toolkit (SWT) è almeno parzialmente responsabile dell'aspetto di Eclipse. Eclipse deve le sue prestazioni (o, come dicono alcuni sostenitori, la sua mancanza) alla JVM. Eclipse funziona piuttosto lentamente, poiché è radicato in hardware piuttosto vecchio e in versioni antiche della JVM. Anche oggi sembra lento, soprattutto se gli si allegano molti plugin. Parte del sovraccarico delle risorse di Eclipse può essere attribuito al compilatore incrementale integrato, che viene eseguito ogni volta che un file viene caricato o il codice viene aggiornato. Questa è una cosa utile; rileva gli errori durante l'immissione del testo. Indipendentemente dalla build, il progetto Eclipse mantiene un modello di contenuto che contiene informazioni sulla gerarchia di tipi, riferimenti e dichiarazioni di elementi Java. La versione attuale di Eclipse si chiama Neon (4.6.0). Ho installato Eclipse Java EE IDE per sviluppatori web (questa non è l'unica opzione, puoi scegliere qualcos'altro). Contiene un SDK Eclipse minimo e i plug-in vengono aggiunti su richiesta. A proposito, lavorare con i plugin in questo IDE non è per i deboli di cuore. I plugin di terze parti spesso entrano in conflitto tra loro, anche se le loro specifiche ufficiali non dicono nulla al riguardo. Eclipse, NetBeans o IntelliJ IDEA?  Scelta di un IDE per lo sviluppo Java - 6
Figura 2. Da sinistra a destra, sono presenti quattro barre degli strumenti Eclipse: Package Explorer, Java Editor, Java Class Structure ed Task List. Il progetto caricato in Eclipse in questa immagine è il framework di test JUnit. I pannelli possono essere facilmente scambiati.

Supporto plug-in

L'ecosistema di plugin di Eclipse è sia il punto di forza dell'IDE che uno dei suoi principali problemi. È a causa dell'incompatibilità dei plugin che a volte interi gruppi si bloccano e i programmatori devono ricominciare da capo il lavoro. Attualmente ci sono oltre 1.700 plugin scritti per Eclipse, ufficiali e non ufficiali, che potrebbero funzionare bene o meno. I plugin Eclipse supportano più di 100 linguaggi di programmazione e quasi 200 framework di sviluppo di applicazioni. È supportata anche la maggior parte dei server Java: se designi una nuova connessione al server da Eclipse, verrai indirizzato a un elenco di cartelle dei fornitori in cui troverai circa 30 server delle applicazioni. Ci saranno fino a nove varianti di Apache Tomcat da sole. I fornitori commerciali tendono a raggruppare insieme le loro soluzioni: ad esempio, c'è un solo articolo Red Hat JBoss Middleware e al suo interno troverai gli strumenti server WildFly e EAP, oltre a JBoss AS.

Modifica, refactoring e debug

La tua prima esperienza con Eclipse può creare confusione e persino confusione. Il primo passo è configurare Eclipse e abituarsi alla sua architettura concettuale di spazi di lavoro, viste e viste. Tutto questo è determinato dai plugin che hai installato. Per lo sviluppo Java lato server, utilizzerai probabilmente le viste di navigazione Java, Java EE e Java, la vista Esplora pacchetti, la vista di debug, la vista di sincronizzazione dei comandi degli strumenti Web, la vista di sviluppo del database e la vista di debug del database. In pratica tutto ha senso quando apri le finestre che ti servono. Eclipse offre quasi sempre diversi modi per risolvere un particolare problema. Ad esempio, puoi visualizzare il codice utilizzando la prospettiva di navigazione Java. Cosa scegliere è una questione di gusti e scelte. Una speciale ricerca Java consente di trovare dichiarazioni, riferimenti ed occorrenze di pacchetti, tipi, metodi e campi Java. Puoi anche utilizzare l'accesso alla ricerca rapida e l'anteprima. Modelli di codice comuni possono essere generati da modelli di codice. Java Refactoring in Eclipse supporta 23 operazioni, che vanno dalle comuni operazioni di ridenominazione alle trasformazioni meno ovvie (come nel libro di Martin Fowler). Eclipse supporta sia il debug locale che remoto, a condizione che tu stia utilizzando una JVM che supporti il ​​debug remoto. Il debug è piuttosto standard: definisci i punti di interruzione e quindi visualizzi le variabili nella scheda debug. Naturalmente, puoi scorrere il codice e valutare le espressioni. Eclipse dispone di un vasto database di documentazione di diverse età, valori e utilità. Sfortunatamente, trovare nelle istruzioni un'immagine che non corrisponde alla versione attuale, ad esempio con un'interfaccia e un layout dei pulsanti obsoleti, è un evento comune per questo IDE. Sfortunatamente, il problema degli aggiornamenti tardivi della documentazione è molto comune per qualsiasi progetto di codice sorgente.

NetBeans

Eclipse, NetBeans o IntelliJ IDEA?  Scelta di un IDE per lo sviluppo Java - 7NetBeans è iniziato come progetto studentesco universitario a Praga nel 1996. Nel 1997 l'IDE divenne un prodotto commerciale, nel 1999 fu acquistato da Sun Microsystems (i genitori di Java) e l'anno successivo presentò una versione open source. L'attuale versione 8.1 funziona su macchine che eseguono Windows, Mac OS X, Linux e Solaris. Bene, il pacchetto portatile può essere eseguito su qualsiasi sistema per il quale esiste una macchina Java. Ho scaricato personalmente il pacchetto Java EE, è uno dei sei possibili pacchetti di download. Questo pacchetto supporta JavaScript e HTML, GlassFish e Tomcat, ma non supporta PHP, C/C++/Fortran, Groovy e Grails: possono essere ottenuti nel pacchetto “All Inclusive” (o semplicemente “All”). Tuttavia, se lo desidero, posso scaricare in qualsiasi momento il supporto per le lingue sopra indicate selezionando l'apposito plugin (o qualsiasi altro). NetBeans ne ha meno di Eclipse, ma di solito non sono in conflitto tra loro. Quest'autunno, Oracle (che ha acquisito NetBeans dopo aver acquisito Sun Microsystems) ha deciso di trasferire questo ambiente di sviluppo sotto l'ala protettrice della Apache Software Foundation, insieme a tutti i diritti, il codice sorgente, il marchio, il dominio "netbeans.org" e una serie di altre infrastrutture elementi. Pertanto, il futuro del progetto è ancora vago, anche se in precedenza il sistema disponeva di alcuni privilegi correlati. Pertanto, è stato NetBeans il primo a ricevere il supporto per Java 8 quasi immediatamente dopo il rilascio della piattaforma aggiornata, ed è stato chiamato "IDE ufficiale per Java 8". Tuttavia, un mese dopo il suo rilascio, questo vantaggio è andato perso: è stato allora che anche altri IDE hanno ricevuto il supporto per Java 8. Tuttavia, voglio sottolineare che il supporto Java 8 di NetBeans è davvero buono e l'IDE è ottimo per intrecciare i trucchi Java 8 nel "vecchio" codice. I suoi editor, analizzatori di codice e convertitori aiuteranno il programmatore ad aggiornare il codice utilizzando costrutti tipici di Java 8: espressioni lambda, operatori funzionali e riferimenti a metodi. I plugin JavaScript in NetBeans 8 svolgono un ottimo lavoro nel supportare Node.js e gli strumenti JavaScript più recenti come Gulp e Mocha, oltre a supportare l'interprete JavaScript Nashorn. Eclipse, NetBeans o IntelliJ IDEA?  Scelta di un IDE per lo sviluppo Java - 8
Figura 3. Qui NetBeans sta eseguendo lo stesso progetto basato su Maven aperto da IntelliJ IDEA nella Figura 1. Notare la funzionalità migliorata nel menu contestuale e nel sottomenu di refactoring

Modifica e refactoring

NetBeans Editor supporta le lingue, rileva gli errori durante la digitazione e ti aiuta con descrizioni comandi e completamento intelligente del codice. Secondo la sensazione soggettiva, l'IDE affronta questo compito più velocemente di Eclipse, ma un po' più lentamente di IntelliJ IDEA. Inoltre, NetBeans dispone di una gamma completa di strumenti di refactoring (come mostrato nella Figura 3) che consentono al programmatore di ristrutturare il codice senza romperlo, eseguire l'analisi del codice sorgente e offre inoltre un'ampia gamma di suggerimenti per soluzioni rapide o estensioni del codice. NetBeans include lo strumento di progettazione GUI Swing, precedentemente noto come "Project Matisse". Gli sviluppatori apprezzano molto lo strumento di refactoring automatizzato Inspect & Transform, introdotto in NetBeans 7.1. Ti consente di analizzare il codice del progetto e apportare miglioramenti suggeriti. Anche se personalmente preferisco testare prima tutto il mio codice con test unitari e solo successivamente eseguire strumenti che possono apportare modifiche radicali. Ho sofferto ripetutamente di tutti i tipi di correzioni automatiche che hanno portato a conseguenze irreparabili.

Creazione, debug e profilazione

NetBeans ha un eccellente supporto nativo per Maven e Ant, oltre a un plug-in per Gradle. Sono stato molto felice quando ho scoperto che i progetti Maven venivano trattati come “nativi” dal sistema. Ciò significa che possono semplicemente essere aperti anziché importati. NetBeans contiene anche una visualizzazione grafica attraente (e utile) per le dipendenze Maven. Il debugger Java di NetBeans non è male, ma presenta alcuni avvertimenti. Un debugger visivo separato consente al programmatore di acquisire screenshot dell'interfaccia grafica utente ed esplorare le interfacce delle applicazioni realizzate utilizzando JavaFX e Swing. Il profiler NetBeans rende più evidente il modo in cui vengono utilizzate CPU e memoria e dispone di strumenti eccellenti per individuare perdite di memoria.

Quale IDE Java è migliore? Confronto del trio di giganti

Ho utilizzato tutti e tre gli IDE, Eclipse, NetBeans e IntelliJ IDEA, nel corso degli anni nell'ordine cronologico elencato. Ogni volta che passavo a un IDE diverso, sentivo che la mia produttività aumentava. Ma anche quando ero fermamente convinto che IDEA fosse la mia scelta finale, a volte dovevo tornare a uno dei due IDE rimasti. Questo era il caso, ad esempio, all'epoca in cui Eclipse era l'unico strumento che supportava lo sviluppo di Android (oggi c'è Android Studio, l'attuale IDE ufficiale per Android, si basa su IntelliJ IDEA). Naturalmente, tutti e tre gli IDE hanno i loro fan e detrattori. Conosco molti sviluppatori Java che amano IntelliJ IDEA, nonché fedeli fan di Visual Studio C++ e C#. Nella maggior parte dei casi queste persone sono contente del fatto che la loro produttività è aumentata e il costo dell'abbonamento annuale viene rimborsato dopo poche settimane di utilizzo della versione a pagamento di IDEA. Tuttavia, anche gli utenti NetBeans ed Eclipse sono spesso attaccati ai loro strumenti e si chiedono perché altri programmatori siano disposti a pagare per IDEA. Consiglierei ai nuovi sviluppatori Java di stare lontani da Eclipse. Nonostante sia ancora l'IDE per Java più popolare, è difficile per i principianti: è facile perdersi nella natura selvaggia di Eclipse, sia durante l'implementazione del sistema che durante il lavoro quotidiano. Eclipse ha l'ecosistema di plugin più esteso di tutti gli IDE ed è anche quello che ha maggiori probabilità di bloccarsi a causa dell'installazione di un set incompatibile di questi stessi plugin. Sfortunatamente, durante l'utilizzo di Eclipse, ho dovuto rimuovere ripetutamente un altro assembly danneggiato di questo IDE e installare un bundle "pulito". NetBeans è utile per la maggior parte degli sviluppatori, ha un ottimo profiler e lo uso a volte. Tuttavia, preferisco pagare per IntelliJ IDEA Ultimate. E il futuro di NetBeans non è ancora chiaro. Per i nuovi sviluppatori Java che non hanno ancora il budget per acquistare strumenti, consiglio di utilizzare NetBeans o IntelliJ IDEA Community Edition a seconda delle loro esigenze. Vale la pena scegliere il primo per coloro che stanno codificando server Java, ma solo se non rientri nella categoria di coloro che possono ottenere IntelliJ IDEA Ultimate gratuitamente o con uno sconto enorme (studenti o programmatori che stanno sviluppando un software open source progetto).

IDE Java "leggero".

Oggi, la maggior parte degli sviluppatori Java utilizza IDEA, NetBeans o Eclipse, ma a volte c'è bisogno di ambienti di sviluppo più leggeri o anche di editor di codice come Sublime Text, emacs o vim che supportino i plugin Java. Ho elencato di seguito opzioni ragionevoli per chi cerca qualcosa di un po' più leggero:
  • 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 в зависимости от проекта

Ho provato a descrivere gli importanti vantaggi di ciascuno dei tre IDE Java più significativi e ho menzionato brevemente i loro utili piccoli rivali. Per scegliere il giusto ambiente di sviluppo Java, devi valutare i pro e i contro e abbinarli alle tue esigenze e alle esigenze dei tuoi progetti. Se ti unisci a un team, è una buona idea utilizzare lo stesso IDE degli altri sviluppatori, anche se non è obbligatorio. Se il tuo team ospita sorgenti su GitHub, sarà naturalmente più conveniente se il tuo IDE supporta GitHub. Sì, puoi gestire il trasferimento del codice senza un IDE utilizzando il client GitHub o la riga di comando git. Ma quanto saranno efficaci questi salti tra sistemi diversi? È anche importante che l'IDE supporti il ​​sistema di compilazione. Ad esempio, se si tratta di Maven, è improbabile che tu voglia ricostruire il sistema in Ant per i test locali. Fortunatamente, tutti e tre i grandi IDE Java supportano Ant, Maven e Gradle, sia immediatamente che con un plug-in. Ma per gli IDE “piccoli” questo potrebbe non essere vero. È un desiderio naturale che l'ambiente di sviluppo supporti la versione di JRE utilizzata nel progetto. Se le versioni non corrispondono, c'è un'alta probabilità di ottenere molti bug extra, che, ad esempio, appariranno in te, ma non negli altri membri del team. È improbabile che una situazione del genere abbia un effetto positivo sul tuo karma. Francamente, è più probabile che l'incoerenza di JRE si verifichi a causa di errori di configurazione che a causa della mancanza di supporto IDE, a meno che l'IDE non sia ancora aggiornato a una nuova versione di Java. Credi solo che se il tuo IDE supporta pienamente i framework e le tecnologie utilizzate nel progetto, aiuta davvero ad accelerare il lavoro. Molto probabilmente ce la farai comunque. Tuttavia, se l'IDE comprende il modo in cui le istruzioni JPA si riferiscono alle classi di entità e di espressioni JPA (come IntelliJ), dedicherai molto meno tempo al codice relativo a JPA che se fraintendessi completamente. Bene, se l'IDE supporta il framework di test e l'esecutore di codice utilizzato per il progetto, puoi eseguire i test senza modificare l'ambiente di lavoro. Ciò accelererà anche il processo di sviluppo. Infine, il lavoro procede più velocemente se l'IDE è compatibile con il sistema di tracciamento dei bug e di ticket del progetto. Ancora una volta, puoi utilizzare un client autonomo o web, ad esempio JIRA, ma è difficile non essere d'accordo sul fatto che il controllo dei ticket è molto più veloce senza cambiare la finestra, pur rimanendo direttamente nell'IDE.

Gratuito o a pagamento?

Dopo aver testato IntelliJ IDEA Ultimate, ho avuto la sensazione del giusto ambiente di sviluppo. Una sorta di Cadillac del mondo IDE. Non dirò inequivocabilmente che IDEA è il miglior IDE per Java, ma per me è così. Ancora una volta, anche se non è gratuito, penso che i guadagni di produttività derivanti dal suo utilizzo valgano l'abbonamento annuale. Per i principianti che non possono permettersi un abbonamento annuale a IntelliJ IDEA Ultimate, consiglio di utilizzare NetBeans anziché Eclipse. Naturalmente, l'ecosistema dei plugin Eclipse oggi è molto più sviluppato di quello di qualsiasi altro IDE, ma è molto cresciuto e trasandato: uno sviluppatore alle prime armi rischia di rimanere bloccato nella giungla dell'IDE, Java e l'immersione nel lavoro passerà in secondo piano . ha toccato anche alternative “leggere”, due delle quali sviluppate appositamente per scopi didattici. Ebbene, se hai appena iniziato a imparare le lingue e preferisci un ambiente minimalista, perché no?
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION