Non di rado gli utenti si avvicinano al mondo delle distribuzioni perché hanno la necessità di un ambiente di sviluppo stabile, potente e versatile. Linux in questo contesto da il meglio di se offrendo un enorme bacino di strumenti, applicazioni e librerie dedicate alla programmazione. Dopo aver visto le migliori alternative a Photoshop per Linux nell’articolo di oggi andremo quindi ad esaminare gli IDE ed i code editor più gettonati dalla community di utenti del sistema operativo del Pinguino.
Gli IDE (Integrated Development Environment) vengono impiegati dai developer per realizzare i diversi progetti software.
Tali programmi offrono un ambiente di sviluppo completo, permettendo dunque al coder di focalizzarsi unicamente sulla scrittura del codice sorgente dell’applicativo in sviluppo, senza preoccuparsi di procurarsi le librerie o toolkit specifici.
Inoltre gran parte degli IDE disponibili in rete sono capaci di interfacciarsi con i principali servizi di code sharing, cosi da poter condividere al volo il codice su un repository pubblico oppure con i propri colleghi di lavoro.
L’obbiettivo di un IDE è quindi agevolare il lavoro di sviluppo dei developer offrendo vari tool integrati. Tutti gli IDE in circolazione integrano quattro funzioni base, ovvero:
- L’editor di testo, dove poter scrivere o modificare il codice;
- Il compilatore/interprete, per compilare o eseguire il codice scritto;
- Il software di building, per eseguire la pacchettizzazione automatica dell’applicativo;
- Il debugger, cosi da individuare automaticamente gli errori di scrittura più comuni.
I migliori IDE e code editor per Linux
Come scritto poco sopra gli IDE includono tutti un code editor, tuttavia tale tipologia di tool può anche essere distribuito come software standalone. Tuttavia in alcuni casi i code editor non implementano funzionalità, per diverse ragioni, che invece sono disponibili negli IDE veri e propri, come ad esempio un sistema version control oppure un analizzatore di oggetti o ancora il diagramma della gerarchia delle classi.
Vediamo dunque quelli che secondo la community di utenti del sistema operativo del Pinguino sono i migliori IDE e code editor per Linux.
Visual Studio Code
Una delle alternative più popolari tra gli sviluppatori è sicuramente Visual Studio Code, il code editor open source sviluppato dal team di Microsoft. Questo programma può essere sfruttato per programmare con decine di linguaggi, tra cui: C, C#, Java, Javascript ed HTML.
Visual Studio Code si basa sul framework Electron, un progetto sviluppato dal team di Github, azienda che fa sempre capo a Microsoft, che consente di realizzare facilmente GUI (Graphical User Interface) tramite i linguaggi web e che sfrutta il motore di rendering di Chromium ed il runtime Node.js.
Visual Studio Code integra le funzionalità di: colorazione della sintassi, cosi da evidenziare le varie parti di codice e facilitarne l’individuazione, l’autocompletamento del codice, per velocizzare la scrittura del sorgente, ed inoltre può gestire gli snippet, con Groovy, Markdown, Nim, PHP e Swift ed il refactoring, ovvero la modifica di intere porzioni del codice, con C# e TypeScript.
Questo code editor implementa un debugger capace di interfacciarsi con i progetti realizzati su Node.js e Mono oltre che con diversi altri linguaggi tramite appositi plugin. Oltretutto tramite un apposito sistema di addon gli utenti possono espandere facilmente le funzionalità di Visual Studio Code.
Per rendere più agevole l’ambiente di sviluppo il team di developer ha integrato delle scorciatoie da tastiera personalizzabili ed un sistema di temi cosi da poter modificare l’aspetto grafico del programma.
In Visual Studio Code è possibile trovare anche il supporto al version control, cosi da avere sempre a disposizione le diverse modifiche eseguite al codice. Ovviamente per poter accedere a tale feature è necessario collegare il tool ad un controll system come Git o Apache Subversion.
Installare Visual Studio Code è molto semplice:
sudo snap install --classic code
oppure
sudo flatpak install flathub com.visualstudio.code
IntelliJ IDEA
Questo ambiente di sviluppo open source è dedicato alla programmazione con il linguaggio Java. IntelliJ IDEA viene sviluppato dall’azienda JetBrains e distribuito sotto licenza Apache. Tale IDE implementa diverse funzionalità come l’autocompletamento del codice, la code navigation, cosi da spostarsi tra le classi e nel codice velocemente, ed il refactoring.
IntelliJ IDEA si integra con i principali build tool, come ad esempio grunt e bower, ed inoltre supporta senza problemi diversi version control system tipo Git, Mercurial o SVN. Oltretutto gli utenti potranno accedere ai vari database direttamente da IntelliJ IDEA, senza dunque sfruttare strumenti di terze parti.
IntelliJ IDEA dispone di un vastissimo ventaglio di plugin e addon che gli consentono di estendere notevolmente le sue funzioni, aggiungendo anche il supporto ad altri linguaggi di programmazione. Questo IDE dunque non è vincolato a Java ma può essere impiegato per lo sviluppo di progetti in Python, Javascript, Rust o PHP.
IntelliJ IDEA è disponibile tramite pacchetti Snap e Flatpak:
sudo snap install intellij-idea-ultimate --classic
oppure
sudo flatpak install flathub com.jetbrains.IntelliJ-IDEA-Community
Android Studio
Android Studio è l’IDE di riferimento per lo sviluppo di applicazioni Android. Si tratta di un fork di IntelliJ IDEA realizzato dal team di Google che implementa una serie di di funzionalità dedicate ai developer di applicativi mobile per la piattaforma del robottino verde.
Questo IDE ha ereditato numerose caratteristiche da IntelliJ IDEA, visto che appunto si basa sulla medesima codebase, come ad esempio gli strumenti per il refactoring, la code navigation ed il completamento del codice intelligente.
I developer di Mountain View hanno integrato in Android Studio diverse opzioni di refactoring specifiche per Android, un sistema di wizard per assicurare la realizzazione di GUI e componenti conformi con le linee guida di Google, un layout editor con cui è possibile impostare gli elementi dell’UI tramite un semplice drag & drop del mouse ed ovviamente anche un emulatore, chiamato Android Virtual Device, per eseguire il testing delle applicazioni.
Tramite Android Studio i developer hanno la possibilità di creare anche degli applicativi per Android Wear, il sistema operativo per i wearable device di Google, ed inoltre è disponibile l’integrazione completa con ProGuard, ovvero il tool da CLI (Command Line Interface) che si occupa di ridurre ed ottimizzare il codice Java.
Android Studio supporta i medesimi linguaggi di programmazione di IntelliJ IDEA ed ovviamente anche questo IDE dispone di un comodo ecosistema di plugin con cui aggiungere nuove funzionalità o il supporto ad altri linguaggi.
Android Studio può essere scaricato tramite shell:
sudo snap install --classic android-studio
oppure
sudo flatpak install flathub com.google.AndroidStudio
Kate
Kate, acronimo di KDE advanced text editor, è un editor di testo che integra diverse funzioni dedicate alla programmazione. Tale tool permette di modificare contemporaneamente più file tramite un comodo sistema di schede ed implementa inoltre una comoda shell che consente di eseguire comandi e di testare le modifiche del codice sorgente.
Questo software dispone del syntax highlighting, cosi da evidenziare le varie parti del codice, di una funzione di ricerca nel codice e del code folding, per nascondere delle porzioni di codice mentre si lavora su un file.
Tramite Kate gli utenti possono accedere rapidamente ai file e alle directory presenti nel sistema da un pratico pannello dedicato. Il programma offre anche un comodo sistema di segnalibri con cui appuntare le parti più importanti del codice, la funzione di autocompletamento del codice ed la Vi input mode.
Di base Kate viene distribuito con diversi plugin preinstallati, tuttavia gli utenti possono sempre aggiungerne di altri cosi da ottenere il supporto a specifici linguaggi oppure per installare nuovi strumenti.
Essendo parte del progetto KDE questo code editor si trova preinstallato su tutte le distribuzioni che adottano Plasma KDE come desktop environment di riferimento. Ovviamente è installabile tramite bash:
sudo apt-get install kate
oppure
sudo dnf install kate
Gedit
Gedit è l’editor di testo open source di riferimento per l’ambiente grafico GNOME Shell. Dispone quindi di una GUI che si uniforma alla perfezione alle HIG (Human Interface Guidelines) di tale desktop environment.
Questo progetto integra svariate feature pensate per il coding, come ad esempio il syntax highlighting, garantito dalla libreria GtkSourceView, la numerazione delle linee, il bracket matching, per evidenziare le coppie di parentesi, il text wrapping, la current line highlighting e l’automatic indentation. Inoltre Gedit esegue automaticamente il salvataggio del file durante la modifica, dunque in caso di crash o di spegnimento inatteso del computer non si perderanno le modifiche eseguite al codice.
Tramite dei plugin gli utenti possono aggiungere nuove funzionalità a Gedit, tipo il supporto agli snippet o ad altri linguaggi, come Python o Vala, oppure l’integrazione con Bash. Tale editor oltretutto è equipaggiato con un comodo file browser, cosi da poter aprire i file presenti nelle directory di sistema al volo.
Gedit è integrato in GNOME Shell e viene distribuito assieme all’ambiente grafico, dunque questo programma è presente di base in tutte quelle distribuzioni Linux che implementano GNOME come desktop environment.
Questo software è però completamente indipendente da GNOME e può essere installato a parte da terminale:
sudo apt-get install gedit
oppure
sudo dnf install gedit
Bluefish
Bluefish è un code editor open source pensato per lo sviluppo di applicativi web. Supporta un vasto ventaglio di linguaggi dedicati alla scrittura di siti internet o di webapp di vario genere, tipo HTML, Javascript, CSS e PHP. Ma ovviamente può essere utilizzato anche per la realizzazione di progetti destinati ad altri contesti, infatti può gestire senza problemi codice C, Python, Ruby, Java ed SQL.
In Bluefish sono presenti una serie di caratteristiche ed opzioni che facilitano la vita dei programmatori. Troviamo quindi l’evidenziazione della sintassi, l’autocompletamento del testo, il code folding, l’auto-recovery, la code navigation ed un sistema di bookmar.
Bluefish implementa un’interfaccia di visualizzazione dei file suddivisa in tab, cosi da poter gestire più documenti in una singola sessione di lavoro. Inoltre questo software permette di modificare file in remoto, infatti può gestire connessioni tramite i protocolli FPT/SFTP, HTTP/HTTPS, WebDav e CIFS. Questa feature risulta essere molto comoda per tutti quei team di sviluppo che devono poter accedere facilmente a degli script o magari ai sorgenti di un progetto caricati sui computer dei colleghi oppure su server aziendali.
Bluefish si trova nei repository di quasi tutte le distribuzioni:
sudo apt-get install bluefish
oppure
sudo dnf install bluefish
Geany
Questo IDE è stato progettato per poter operare anche in ambienti con scarse risorse hardware. Si tratta di un programma open source, distribuito sotto licenza GPLv2, mantenuto da una community di sviluppatori indipendenti.
Geany offre agli utenti un set di funzionalità molto complete, come ad esempio: il supporto alla gestione dei progetti, l’autocompletamento del testo, l’evidenziazione della sintassi, la gestione dei file multipli tramite sistema di tab, il code folding e la code navigation. Oltretutto Geany si integra perfettamente con Bash, cosi da poter testare il codice scritto senza aprire altre finestre.
Tale programma consente una profonda personalizzate della sessione di lavoro tramite l’impostazione di schemi di colore, scorciatoie da tastiera ed una toolbar degli strumenti modificabile. Oltretutto in Geany è possibile reperire un file browser cosi da accedere velocemente ai file presenti nel computer. Ovviamente è disponibile anche la funzione di editing remoto tramite protocollo FTP, SSH, LUFS e Fuse.
Geany supporta navimente una grossa pletora di linguaggi di programmazione, tipo: C, Java, PHP, HTML, JavaScript, Python e Perl. Inoltre è possibile utilizzare tale tool con i più comuni sistemi di version control, come Git, Mercurial o SVN, installando dei plugin appositi.
Ottenere Geany è semplicissimo:
sudo apt-get install geany
oppure
sudo dnf install geany
Spacemacs
Spacemacs è un configuration framework, sviluppato da una community di programmatori indipendenti, per lo storico code editor GNU Emacs. Sostanzialmente si tratta di un insieme di file di configurazioni, plugin e librerie che migliorano notevolmente l’ergonomia e l’esperienza utente di Emacs, offrendo quindi un ambiente di lavoro notevolmente più confortevole, in special modo per coloro che si avvicinano per la prima volta ad Emacs ed al mondo della programmazione.
Questo progetto open source, viene infatti distribuito sotto licenza GPLv3, dispone di tre modalità di input del codice, selezionabili dall’utente, ovvero: l’Emacs mode, la Vim mode, altro code editor da shell, ed in fine una modalità ibrida che prende il meglio di entrambi. Il team di Spacemacs offre quindi la possibilità di selezionare l’impostazione che si preferisce, in modo da accontentare tutti i gusti e le esigenze possibili.
Spacemacs include un sistema di tab, con cui gestire file multipli, la funzione di syntax highlighting, uno strumento di ricerca del codice e del supporto a diversi version control system. Oltretutto questo IDE permette il remote editing ed integra delle comode scorciatoie da tastiera personalizzabili con cui l’utente può rendere il proprio workflow più agevole.
Per installare Spacemacs è necessario prima di tutto installare GNU Emacs:
sudo apt-get install emacs
oppure
sudo apt-get install emacs
Successivamente si potrà applicare il configuration framework vero e proprio:
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
In conclusione
L’ecosistema delle distribuzioni Linux offre un ampissimo bacino di IDE e code editor che possono soddisfare ogni esigenza ed adattarsi a qualsiasi contesto lavorativo. Che siate dei piccoli developer indipendenti o un grosso team di sviluppatori non avrete problemi a reperire il tool che fa per voi.