Java 9: i migliori tool per sfruttare le nuove funzioni

I migliori tool per Java 9 che supportano le nuove funzioni modulari

Le novità relative al rilascio di Java 9

Java 9, meglio conosciuto con il nome tecnico di Java Platform Standard Edition 9, è stato lanciato sul mercato nel mese di Settembre 2017 e ha portato con sé una ventata di novità e miglioramenti, specialmente relativi all’architettura del software.

La novità che più di tutte che interessa Java 9 è l’introduzione della modularizzazione, già annunciata e basata sul progetto Jigsaw. Il fine di tale progetto altro non è che la creazione di un sistema modulare standard di linguaggio e di architettura che parta dallo stesso Java Development Kit (JDK) e quindi a livello nativo.

La modularizzazione che ha interessato in primis il Java Development Kit (JDK) ha avuto come risultato la divisione dello stesso in un set di moduli e una maggiore comprensione da parte degli utenti delle dipendenze tra di essi.

Non solo, l’introduzione dei moduli ha avuto effetti positivi anche sulla scalabilità di Java, con la possibilità di adattarlo anche ai device di minor dimensione senza compromettere stabilità, performance e sicurezza.

Grazie alla modularità di Java 9 quindi gli utenti saranno in grado di gestire contemporaneamente più librerie ed applicazioni complesse sia per quanto riguarda la Standard Edition (Java SE) che la Enterprise Edition (Java EE). Altri significativi miglioramenti relativi a Java 9 sono stati apportati nelle modalità di compilazione del codice, specialmente per quanto riguarda la “ahead-of-time (AoT) compilation“.

migliori tool per java 9

Con il lancio di Java 9 infatti è stata infatti avviata una fase di sperimentazione che si concentra sulla possibilità di compilare le classi Java in codice nativo prima di lanciarle nella Java Virtual Machine (JVM).

Per poter sfruttare al meglio le nuove funzionalità offerte da Java 9 è inoltre possibile ricorrere all’uso di un gran numero di tool di sviluppo. Su Java 9 i migliori tool che supportano la nuova modularità comprendono Apache Ant, Apache Maven, Eclipse IDE e JetBrains IntelliJ Idea IDE.

A non supportare invece la modularizzazione di Java 9 sono Gradle e Jenkins, che però sono attivamente al lavoro per ovviare al problema.

I migliori tool per Java 9 modularity-friendly

Tra i tool che supportano la modularizzazione di Java 9 troviamo dunque Apache Ant. Apache Ant è una libreria Java e una linea di comando open-source utile per automatizzare il processo di build che ad oggi risulta pienamente compatibile con le nuove funzionalità di Java 9.

In particolare è la versione Ant 1.10.1 rilasciata nel Febbraio del 2017 ad essere in linea con le richieste del nuovo assetto di Java. Tra le sue caratteristiche troviamo non solo il supporto dei moduli, ma anche una serie di opzioni relative a javac, java e junit.

Diverso è invece il discorso che riguarda Apache Maven, compatibile con la modularità di Java 9 nella versione 3.7 del Maven software build tool. L’utilizzo di Apache Maven in Java 9 pone infatti una grande sfida per tutti gli sviluppatori di librerie perché è necessario prima di tutto modularizzare le dipendenze.

Anche Eclipse IDE, a sua volta tool open-source, è in grado di supportare Java 9 con la versione Oxygen rilasciata nel Giugno 2017. Ma, proprio come per Apache Maven, anche nel caso di Eclipse IDE è necessario apportare dei cambiamenti per sfruttare al pieno le funzionalità offerte: in particolare per lavorare con i moduli della versione 9 di Java gli sviluppatori devono aggiungere il parametro vmargs “—add-modules=ALL-SYSTEM” di Java Virtual Machine (JVM) al file eclipse.ini.

In ogni caso è consigliabile attenersi alla documentazione di Eclipse IDE prima di aggiungere qualunque parametro relativo ai moduli, perché può capitare di incontrare degli errori di progetto. Questi errori possono ad esempio riguardare l’utilizzo di tipi come javafx.base che non sono parte né di java.base né di java.se.ee.

Per quanto concerne JetBrains IntelliJ Idea IDE infine, la versione 2017.2 è stata studiata appositamente per un pieno supporto della modularità di Java 9. Gli sviluppatori che usano JetBrains IntelliJ Idea IDE hanno la possibilità di creare un progetto modulare utilizzando i moduli al posto delle classi.

migliori tool per Java 9

Possono inoltre sviluppare file module-info.java con compilazione del codice e i quick fix. In poche parole quindi JetBrains IntelliJ Idea IDE in versione 2017.2 può usufruire dei quick fix per il codice Java modulare, usare i moduli per un supporto nell’esecuzione e nel debug e creare diagrammi dei moduli per una migliore visualizzazione del Java Development Kit (JDK) e dei moduli personalizzati e automatizzati.

I migliori tool per Java 9 che sono al lavoro per il supporto della modularità

Come affermato nell’introduzione, esistono però due tool che al momento stanno ancora lavorando per rilasciare versioni in grado di supportare la modularizzazione di Java 9: Gradle e Jenkins.

Il software build tool di Gradle infatti non è ancora in grado di supportare appieno le funzionalità derivanti dalla modularizzazione di Java, sebbene il team di sviluppatori abbia affermato che una versione rispondente a queste esigenze sarà con tutta probabilità lanciata nel 2018.

Questo però non significa che gli sviluppatori che utilizzano Gradle non possano, per vie traverse, usufruire dei moduli di Java 9; per loro è infatti possibile produrre moduli per le librerie di Java 9 utilizzandoli come semplici dipendenze. Lo stesso discorso vale per Jenkins, il cui automation server non possiede ancora le caratteristiche necessarie per un supporto pieno della modularizzazione e per il quale ancora non è stata comunicata una data di rilascio.

In ogni caso i migliori tool per Java 9 sono in grado di supportare questa versione stanno cambiando il modo in cui gli sviluppatori guardano questo linguaggio di programmazione, specialmente per quanto riguarda la scalabilità. Utilizzando congiuntamente Java 9 e i migliori tool di supporto sarà infatti possibile in futuro aprire le porte della modularità ad altri progetti di continuous integration.

Ora che sai quali sono i migliori tool per Java 9 contattaci, senza impegno, per scoprire quali sono le migliori soluzioni di sviluppo per quanto riguarda Java

Contattaci