Java runtime environment

java-runtime-environment

Java runtime environment

Java runtime environment: l’ambiente “intermediario” tra il programma e il sistema operativo. Ecco tutto quello che c’è da sapere.

I runtime environment fungono da veri e proprio piccoli sistemi operativi che mettono a disposizione tutte le funzionalità di cui un programma ha bisogno per la corretta esecuzione. Tra questi si contano anche le interfacce di elementi fisici di un hardware, le interazioni utente e le componenti software.

Cos’è un ambiente runtime?

Ogni giorno siamo abituati a sfruttare una serie di programmi che dispongono di svariate funzioni. Con il passare del tempo, e i passi da giganti degli strumenti tecnologici che utilizziamo, ci aspettiamo ormai che tutti questi software funzionino quasi alla perfezione.

Per gli sviluppatori però non è altrettanto scontato, in quanto i sistemi operativi più utilizzati si differenziano significativamente l’uno dall’altro, senza contare le differenze tra le varie versioni. Teoricamente sarebbe dunque necessario adattare ogni programma a ciascuna di queste versioni per Windows, macOS e Linux.

Anche i semplici utenti utilizzano gli ambienti di runtime, in quanto questi permettono ai programmi di disporre di tutte le funzionalità necessarie per poter funzionare indipendentemente dal sistema operativo in uso. Inoltre, i programmi hanno un’interfaccia utente identica sulle varie versioni di Windows, macOS e Linux.

Gli sviluppatori, invece, li utilizzano principalmente per testare l’esecuzione delle applicazioni su cui stanno lavorando. Nel caso si verifichi un errore, gli ambienti di runtime notificano il motivo del crash o del malfunzionamento.

Anche i framework fanno parte degli ambienti di runtime. Queste strutture informatiche semplificano lo sviluppo software e mettono a disposizione ambienti di runtime con i quali poter eseguire le applicazioni realizzate.

I vantaggi

Un buon ambiente di sviluppo può fare la differenza:

  1. Un buon IDE, Integrated Delopment Environment o Ambiente di sviluppo integrato, in italiano, aiuta non solo nella gestione del progetto e dei numerosi file che lo compongono, ma anche nella stesura vera e propria del codice, fornendo ad esempio funzionalità di auto completamento, colorazione del codice per evidenziare gli elementi sintattici e compilazione ed esecuzione del codice praticamente automatizzate.
  2. I runtime environment rendono possibile la funzionalità dei programmi su piattaforme diverse. Questo semplifica lo sviluppo, in quanto il programma non deve essere modificato e adattato per ogni singolo sistema operativo e le relative versioni. Nel caso di programmi eseguiti tramite un ambiente di runtime, gli utenti possono approfittare di tutte le sue funzioni allo stesso modo su tutte le piattaforme, utilizzando la stessa, più o meno identica, interfaccia utente.
  3. Programmi simili possono utilizzare lo stesso ambiente di runtime, condividendo le componenti di sistema comportando un ingente risparmio di risorse.

Come funziona un JRE?

Il Java runtime environment viene eseguito nel sistema operativo e fornisce risorse aggiuntive specifiche di Java, sostanzialmente astraendo il sistema operativo e trasformandolo in una piattaforma coerente per l’esecuzione e il deployment delle applicazioni Java. I tre componenti di JRE, macchina virtuale Java, librerie di classi Java e caricatore di classi Java, interagiscono con l’ambiente di runtime Java per garantire la corretta esecuzione dell’applicazione Java.

Le librerie di classi Java contengono raccolte di codice già scritto, da utilizzare quando necessario, mentre il caricatore di classi connette le librerie di classi alla JVM, dove vengono caricate durante l’esecuzione del programma. La JVM esegue quindi il codice.

In ambito java attualmente la fanno da padrone 3 ambienti di sviluppo: Eclipse, Netbeans e IntelliJ IDEA. Vediamo qualche dettaglio in più.

Java runtime environment: Netbeans

È l’editor marchiato Oracle, quindi quello ufficiale. Permette di gestire qualunque tipo di progetto, integrando oltre all’editor java, anche il supporto ad HTML5, PHP, CSS, solo per citarne alcuni. Inoltre, supporta, senza necessità di installare altro, l’intero stack Java Enterprise, quindi JSP, Servlet, JSF, EJB, JPA e così via. Essendo scritto a sua volta in java, è installabile sui più comuni sistemi operativi desktop attualmente in commercio.

La caratteristica principale di Netbeans è quella di essere fornito come ambiente di sviluppo “out of the box“, quindi installabile e utilizzabile immediatamente senza dover ricorrere a software di terze parti. Creando un progetto con Netbeans si può includere praticamente qualunque libreria nota, da JavaFX a Log4J, JUnit, etc.. Basta andare sulle proprietà del progetto per aggiungere tutte le librerie di cui si ha bisogno.

Inoltre viene fornito anche un comodo editor UML per la modellazione del software. In tempi relativamente recenti, Oracle ha affidato il codice e la gestione di Netbeans alla Apache foundation, aumentando il supporto della comunità open source al progetto. Il sito ufficiale per la documentazione, il supporto ed il download è: netbeans.apache.org

Pro:

  • Sistema integrato “out of the box”
  • Ottimo supporto a Java Enterprise
  • Gratuito

Contro:

  • Lentezza del caricamento
  • Difficoltà di importare progetti già esistenti

Java runtime environment: Eclipse

Nato da un progetto commerciale di IBM e diventato open source poco dopo, Eclipse è un ambiente di sviluppo integrato molto utilizzato e apprezzato. Diversamente da NetBeans, Eclipse punta molto sull’estendibilità della piattaforma, mettendo a disposizione un marketplace di plugin gratuiti in grado di soddisfare qualunque necessità dei programmatori. Pensa a una libreria o a un framework java, troverai sicuramente un plugin di Eclipse che lo supporta.

Pro:

  • Estrema configurabilità dell’ambiente di sviluppo
  • Marketplace di plugin fornitissimo
  • Gratuito
  • Molto diffuso, community attiva

Contro:

  • Spesso l’esperienza con particolari framework o funzionalità è legata alla qualità del relativo plugin di terze parti
  • Performance poco convincenti su hardware modesto

Java runtime environment: IntelliJ IDEA

Diversamente dai precendenti, IntelliJ è un prodotto commerciale. Esiste una versione gratuita, IntelliJ IDEA Community Edition, che però non offre supporto a java enterprise, limitando di molto la possibilità di utilizzo.

La versione commerciale, Ultimate, prende sempre più piede soprattutto in ambito aziendale. Questo grazie al supporto commerciale garantito dall’azienda fornitrice, alla completezza dell’ambiente di sviluppo ed alle sue ottime performance.

Pro:

  • Supporto commerciale
  • Strumenti forniti all’altezza, anche per gli sviluppatori più esigenti
  • Velocità di esecuzione dell’ambiente di sviluppo

Contro:

  • Versione gratuita troppo limitata nelle funzionalità
  • Utilizzo intensivo delle risorse di sistema

Alice Zaniolo

Millennial classe 1997 con una laurea in Interpretariato e Comunicazione. Creativa e dinamica amo l’arte in ogni sua forma e sfaccettatura.

Il mio hobby preferito? Fare lunghe passeggiate in compagnia del mio amico a quattro zampe.