Java 9, qui doit mettre fin à la fragmentation du monde Java, sera disponible en septembre 2016[SPECIAL ABONNES] L’environnement Java a-t-il enfin atteint l’âge de raison ? En tant que langage de programmation, l'enfant chéri de l’américain Sun, société acquise en janvier 2010 par Oracle, fête, quoi qu’il en soit, ses vingt ans d'existence en 2015. ...Et Java peut se targuer, fort du soutien quasi immédiat de poids lourds comme Fujitsu ou IBM, d’avoir diffusé dans de nombreux secteurs d’activité, des serveurs d’entreprise aux téléphones mobiles en passant par le cloud, les réseaux sociaux, les équipements d’infrastructure télécoms, les voitures connectées ou les jeux vidéo. Lancé en 1995, Java est aujourd’hui le langage de programmation de neuf millions de développeurs dans le monde et a été implémenté dans plus de sept milliards d’équipements, dont un nombre non négligeable de systèmes embarqués. Ce sont par ailleurs plus de 125 millions d’appareils et équipements multimédias « Java inside » qui auraient été déployés à ce jour et plus de 10 milliards de cartes à puce compatibles JavaCard auraient été commercialisées en vingt ans…
Sous la houlette d’Oracle, deux versions majeures de la plate-forme Java ont déjà vu le jour. La dernière en date, Java 8, qui s’est concrétisée par le lancement de Java SE 8 en mars 2014 puis celui de Java ME 8, plus spécifiquement dédié à l’embarqué, quelques semaines plus tard, est aujourd’hui considérée par les spécialistes comme une étape majeure vers la production réellement industrielle de logiciels embarqués. « L’arrivée de Java 8 a constitué un formidable accélérateur pour l’écosystème des marchés de l’embarqué, et notamment celui des objets connectés, avait confié il y a quelques mois à L’Embarqué Fred Rivard, le CEO et fondateur de l’éditeur nantais IS2T (lire notre interview ici). Il y a eu comme une prise de conscience que les plates-formes d’exécution Java permettaient d’industrialiser le développement des logiciels et de dépasser le stade artisanal qui est aujourd’hui encore une réalité dans le monde de l’embarqué. Il faut grosso modo deux millions de dollars pour développer un produit IoT (matériel et logiciels) et c’est la « glu logicielle » située entre le matériel et les applications qui engloutit une partie de cette somme et surtout paralyse les prises de décisions. Parce que le travail est fait de façon artisanale, avec des processus de développement sans fluidité, ni agilité. En d’autres termes, avec la convergence Java 8, la production de logiciels embarqués peut désormais s’appuyer sur une chaîne de valeur digne de ce nom, comme cela existe dans le monde de la micro-informatique depuis des décennies. » Dont acte. D’autant qu’Oracle assure que le processus d’élaboration des technologies Java au sein du Java Community Process (JCP) est plus ouvert et transparent qu’il n’a pu être dans le passé… Cet effort passe notamment par la communauté OpenJDK qui planche sur des implémentations open source de la plate-forme Java SE. Une communauté dont l’objectif est désormais de proposer une version open source de Java SE 9 au moment même où la spécification sera officiellement disponible, en septembre 2016. Calendrier Java 9 10/12/2015 Feature Complete 04/02/2016 All Tests Run 25/02/2016 Rampdown Start 21/04/2016 Zero Bug Bounce 16/06/2016 Rampdown Phase 2 21/07/2016 Final Release Candidate 22/09/2016 General Availability
Selon Oracle, l’une des caractéristiques-clés de Java 9 sera issue du projet Jigsaw dont l’ambition est de « modulariser » la plate-forme afin qu’elle puisse être aisément adaptée à un plus grand nombre d’objets et d’équipements. L’idée étant qu’il soit plus facile pour les développeurs de bâtir et de maintenir des bibliothèques Java tout en assurant la sécurité, la maintenabilité et les performances de leurs applications. « Il a existé pendant longtemps un manque de cohérence entre les environnements Java SE et Java ME pour les classes de base, c’est-à-dire les packages java.lang, java.utils, etc., rappelait en 2014 Fred Rivard. Il était par conséquent difficile pour un développeur de logiciels de passer facilement entre les deux mondes sans recompilation, voire réécriture, de son programme. Pour simplifier, disons que l’API CLDC n’était pas stricto sensu un sous-ensemble du Java Standard Edition du monde du PC. Oracle estimait à juste titre que cette fragmentation était néfaste pour le marché. Java 8 a été mis en chantier pour tout aligner…» Mais finalement c’est avec Java 9 que, grâce à une modularisation réellement pyramidale, l’alignement de la bibliothèque CLDC avec SE sera réellement effectif, semble-t-il. A suivre donc ! |