Intellij Idea - Introduzione

IntelliJ è uno degli ambienti di sviluppo integrato (IDE) più potenti e popolari per Java. È sviluppato e mantenuto daJetBrainse disponibile come community e ultimate edition. Questo IDE ricco di funzionalità consente uno sviluppo rapido e aiuta a migliorare la qualità del codice.

Cos'è IDE e i suoi vantaggi?

IDE è l'acronimo di Integrated Development Environment. È una combinazione di più strumenti, che rendono il processo di sviluppo del software più semplice, robusto e meno soggetto a errori. Ha i seguenti vantaggi rispetto all'editor di testo normale:

  • Integrazione con strumenti utili come compilatore, debugger, sistema di controllo della versione, strumenti di compilazione, vari framework, profiler di applicazioni e così via.

  • Supporta la navigazione del codice, il completamento del codice, il refactoring del codice e le funzionalità di generazione del codice che potenziano il processo di sviluppo.

  • Supporta test di unità, test di integrazione e copertura del codice tramite plug-in.

  • Fornisce un ricco set di plug-in da migliorare IDE funzionalità ulteriormente.

Caratteristiche di IntelliJ

IntelliJ IDEA ha alcune funzionalità di completamento del codice Java estremamente produttive. Il suo algoritmo predittivo può presumere accuratamente ciò che un programmatore sta tentando di digitare e lo completa per lui, anche se non conosce il nome esatto di una particolare classe, membro o qualsiasi altra risorsa.

Intuizione profonda

IntelliJ IDEA capisce davvero e ha un deep insight nel tuo codice, così come il contesto del programmatore, che lo rende così unico tra gli altri IDE Java.

  • Smart code completion- Supporta il completamento del codice basato sul contesto. Fornisce un elenco dei simboli più rilevanti applicabili nel contesto corrente.

  • Chain code completion - È una funzionalità di completamento del codice avanzata che elenca i simboli applicabili accessibili tramite metodi o getter nel contesto corrente.

  • Static member's completion - Consente di utilizzare metodi o costanti statici e aggiunge automaticamente le istruzioni di importazione richieste per evitare errori di compilazione.

  • Detecting duplicates - Trova al volo i frammenti di codice duplicati e fornisce notifiche / suggerimenti all'utente.

  • Inspections and quick-fixes- Ogni volta che IntelliJ rileva che stai per commettere un errore, viene visualizzata una piccola notifica di lampadina sulla stessa riga. Facendo clic su di esso viene visualizzato l'elenco dei suggerimenti.

Sviluppatore Ergonomics

IntelliJ IDEA è progettato intorno al principio di codifica secondo cui agli sviluppatori dovrebbe essere consentito di scrivere codici con la minor distrazione possibile. Ecco perché in questo caso l'editor è l'unica cosa visibile sullo schermo, con scorciatoie dedicate per tutte le altre funzioni non correlate alla codifica.

  • Editor-centric environment - I pop-up rapidi aiutano a controllare informazioni aggiuntive senza lasciare il contesto corrente.

  • Shortcuts for everything - IntelliJ IDEA dispone di scorciatoie da tastiera per quasi tutto, inclusa la selezione rapida e il passaggio tra le finestre degli strumenti e molto altro.

  • Inline debugger- Il debugger in linea consente di eseguire il debug dell'applicazione nello stesso IDE. Rende il processo di sviluppo e debug senza soluzione di continuità.

Strumenti per sviluppatori incorporati

Per aiutare gli sviluppatori a organizzare il loro flusso di lavoro, IntelliJ IDEA offre loro un fantastico set di strumenti, che comprende un decompilatore, supporto Docker, visualizzatore bytecode, FTP e molti altri strumenti -

  • Version control - IntelliJ supporta la maggior parte dei più diffusi sistemi di controllo delle versioni come Git, Subversion, Mercurial, CVS, Perforce e TFS.

  • Build tools - IntelliJ supporta Java e altri strumenti di compilazione come Maven, Gradle, Ant, Gant, SBT, NPM, Webpack, Grunt e Gulp.

  • Test runner and code coverage- IntelliJ IDEA consente di eseguire facilmente i test di unità. L'IDE include test runner e strumenti di copertura per i principali framework di test, inclusi JUnit, TestNG, Spock, Cucumber, ScalaTest, spec2 e Karma.

  • Decompiler- IntelliJ viene fornito con un decompilatore integrato per le classi Java. Quando vuoi dare un'occhiata all'interno di una libreria di cui non hai il codice sorgente, puoi farlo senza utilizzare plug-in di terze parti.

  • Terminal- IntelliJ fornisce un terminale integrato. A seconda della piattaforma, puoi lavorare con il prompt della riga di comando, come PowerShell o Bash.

  • Database tools- IntelliJ fornisce strumenti di database, che consentono di connettersi a database live; eseguire query; sfoglia e aggiorna i dati; e persino gestire i tuoi schemi in un'interfaccia visiva dall'IDE stesso.

  • Application server- IntelliJ supporta i principali server delle applicazioni: Tomcat, JBoss, WebSphere, WebLogic, Glassfish e molti altri. Puoi distribuire le tue risorse sui server delle applicazioni ed eseguire il debug delle applicazioni distribuite nello stesso IDE.

  • Docker support - Tramite un plug-in separato, IntelliJ fornisce una finestra degli strumenti dedicata che consente di connettersi alle macchine Docker in esecuzione in locale.

Confronto tra Ultimate e Community Edition

La Ultimate Edition è progettata per assistere nello sviluppo web e aziendale, mentre la Community Edition è progettata per JVM e Android Development. Consideriamo alcuni punti importanti che ci aiuteranno a capire il confronto tra le due edizioni:

Caratteristica Ultima edizione Edizione comunitaria
Licenza Commerciale Open source, Apache 2.0. per lo sviluppo commerciale.
Java, Kotlin, Groovy, Scala Supportato Supportato
Sviluppo Android Supportato Supportato
Maven, Gradle, SBT Supportato Supportato
Git, SVN, Mercurial, CVS Supportato Supportato
Rilevamento di duplicati Supportato Non supportato
Perforce, TFS Supportato Non supportato
JavaScript, TypeScript Supportato Non supportato
Java EE, Spring, GWT, Vaadin, Play, Grails, altri framework Supportato Non supportato
Strumenti database, SQL Supportato Non supportato