Modularisation de Java : Jigsaw un nouvelle fois repoussé

Modularisation de Java : Jigsaw un nouvelle fois repoussé Présenté comme l'une des principales innovations annoncées pour Java SE 8, le projet ne sera finalement pas au programme de la nouvelle itération. Oracle vient d'annoncer son report pour Java SE 9.

Il s'agissait d'une des principales fonctionnalités de rupture annoncée pour Java SE 8. Son objectif ? Simplifier la création des paquetages, ainsi que le déploiement des applications et leur réutilisation. Baptisée Jigsaw, cette possibilité initialement prévue pour Java SE 7 (qui est sorti l'été dernier) avait été déjà repoussée pour Java SE 8 - dont la sortie est prévue pour septembre 2013. Mark Reinhold, architecte général de la plate-forme Java chez Oracle, a annoncé sur son blog que la mise en œuvre de Jigsaw était une nouvelle fois reportée. Il devrait désormais être intégré à Java SE 9 qui, lui, est attendu pour 2015.

Reinhold justifie ce report du fait de nombreuses problématiques techniques, notamment liées à la compatibilité avec les codes existants, et à la gestion de containers (IDE, serveurs J2EE..) nécessaire à cette nouvelle architecture.

Vers la convergence de Java SE et Java ME

"Je suis assez séduite par Jigsaw où la notion de modules apparaît. De la même façon que les fichiers 'package-info.java' permettent aujourd'hui de décrire le contenu d'un package, les fichiers 'module-info.java' permettront demain de recenser pour un module l'ensemble des dépendances nécessaires et leurs versions", indiquait dans nos colonnes Céline Gilet, experte Java J2EE chez Netapsys, dans une chronique publiée à l'occasion de la Devoxx 2011.

L'objectif de Jigsaw est aussi d'optimiser le chargement des éléments nécessaires au fonctionnement d'une application. "Ce ne sera plus la définition du classpath mais la configuration par module qui permettra d'obtenir des temps de chargement plus rapides et moins gourmands en espace", notait Céline Gilet.

Au final, Jigsaw a pour but de faciliter la construction et la maintenance des applications Java, en permettant aux développeurs "d'échapper à l'enfer des JAR". Cette évolution promet de modifier la manière de déployer la plate-forme Java, les librairies, les frameworks, les applications... "Cet environnement modulaire permettra de prendre en charge des configurations personnalisables, ce qui favorisera la convergence de Java SE et Java ME. Les applications construites par-dessus seront également plus facilement optimisables", confirme Mark Reinhold.