Pour rappel, le projet Jigsaw vise essentiellement à découper la bibliothèque d’exécution de base de Java en différents modules. Cela devrait permettre à une machine virtuelle Java (JVM) de fonctionner sans le support de certains packages de base.
Après un travail préliminaire qui avait abouti à une proposition en 2008, le système de modules du projet Jigsaw allait être l’une des principales innovations de Java 7. Le projet avait été ensuite reporté à Java 8, puis finalement, Oracle avait annoncé sa sortie avec Java 9, prévu pour début 2016.
Les principales raisons de ces reports étaient des problèmes techniques liés à la compatibilité. La mise au point d’un système de modularité dans le JDK est un véritable défi, à cause des dépendances qui existent entre les packages. Par exemple, java.beans à une dépendance vers java.applet, qui dépend à son tour de java.awt.
Les difficultés rencontrées avaient entraîné, en septembre dernier, la création d’un nouveau prototype de Jigsaw permettant d'explorer une approche simplifiée pour la réalisation des objectifs de ce projet. Une décision qui n'avait pas manqué de semer à nouveau le doute sur l'effectivité de Jigsaw.
Mark Reinhold, architecte en chef du groupe de la plateforme Java chez Oracle vient d'apporter de bonnes nouvelles par rapport à l’évolution du projet Jigsaw, qui est passé en phase 2. Après une phase exploratoire de plusieurs années, Reinhold annonce qu'il est temps de passer à la vitesse supérieure.
L'équipe en charge du projet va désormais se concentrer sur la mise en œuvre de Jigsaw pour JDK 9 et Java SE 9. Reinhold a rédigé un nouveau document qui présente les objectifs et les exigences du système, en prenant en compte les enseignements tirés du dernier prototype. Le projet devra :
- rendre la plateforme Java SE et le JDK plus facilement extensible, pour cibler les petits appareils informatiques ;
- améliorer la sécurité et la maintenabilité de la plateforme Java SE et du JDK ;
- permettre d’améliorer les performances des applications ;
- faciliter le développement et la maintenance des bibliothèques et grandes applications pour les développeurs.
Reinhold reste cependant prudent, car les difficultés sont encore énormes. « Jigsaw dans son ensemble apportera de gros changements au JDK. Il est important d'attendre que tout soit complètement finalisé avant de fusionner tout cela », a écrit Reinhold.
Le groupe de travail sur le projet a l'intention de procéder en quatre grandes étapes dont chacune aura droit à un JEP (JDK Enhancement Proposal). Les trois premières grandes étapes permettront de proposer une structure modulaire spécifique pour le JDK, de réorganiser le code du JDK et de procéder plus tard à la modularisation des binaires. La quatrième étape présentera le système de module proprement dit, sous une forme que les développeurs pourront utiliser pour d'autres programmes.
Mark Reinhold se veut confiant, mais jusqu'ici, il n'est pas encore certain que le projet Jigsaw sera effectif avec Java 9. Espérons que l'on n'aura pas encore droit à un nouveau report.
L'annonce de Mark Reinhold
Le nouveau document de spécification des objectifs et exigences
Et vous ?
Qu'en pensez-vous ? Êtes-vous impatient de voir Jigsaw dans Java ? Pourquoi ?
Craignez-vous un nouveau report ?