JavaFX 11 est enfin disponible en tant que module open source distinct du JDK
Tour d'horizon des améliorations et des nouveautés

Le , par Christian Olivier, Chroniqueur Actualités
Lors de l’annonce des fonctionnalités du Java Development Kit (JDK) (JDK) 11, Oracle a indiqué qu’il procèderait, à partir de cette version, au retrait des modules non essentiels du JDK et à la mise en place de modules indépendants bénéficiant d’un meilleur suivi.

Cette mesure devait permettre aux modules cibles d’être fournis indépendamment du JDK afin qu’ils puissent être développés à leur rythme, sans être impactés par la nécessité de devoir sortir une nouvelle version tous les 6 mois parallèlement à la sortie d’un nouveau JDK.

Les runtimes de JavaFX ont longtemps été distribuées sous forme de bibliothèque tierce séparée du JDK jusqu’à son inclusion dans le JDK 7 lors de la publication de JavaFX 2.2. Oracle avait annoncé que JavaFX, son framework Java qui repose sur l’API Java SE (Standard Edition) et permet de concevoir des interfaces graphiques (UI) ou des RIA (Rich Internet Application), sera à l’avenir disponible en tant que module open source distinct du JDK (le kit de développement Java).


JavaFX 11 est enfin disponible et se positionne, par la même occasion, comme la première version autonome de JavaFX depuis la publication de JavaFX 2.2 et l’intégration de ce dernier dans le JDK 7. Il prend en charge MathML et inclus la fonctionnalité FX Robot API pour simuler les interactions de l’utilisateur.

Sur cette version, les modules JavaFX autonomes n’ont plus la permission par défaut et le support est offert pour FX Swing interop en utilisant une API publique. MarlinFX, le portage du moteur de rendu Marlin qui calcule la proportion des pixels couverts par les formes Shape en estimant le nombre de sous-pixels couverts, a été mis à niveau vers la version 0.9 avec la promesse de performances revues à la hausse.

On peut également signaler la mise à jour de GTX (Gimp Toolkit) par défaut vers la version 3, l’ajout de couleurs standard à la palette de couleurs ColorPicker et l’amélioration de la classe Bounds. Cette version corrige en outre certains bogues, notamment une fuite de mémoire dans VirtualFlow lorsque le lecteur d’écran était activé et un problème qui était en rapport avec la table de redimensionnement automatique.

JavaFX 11 plante avec OpenJDK 11 sur les PC Linux tournant sous Ubuntu 18.04 avec Wayland activé. L’utilisation du serveur Xorg est recommandée pour contourner ce problème. Le JDK n’incluant plus JavaFX, les développeurs doivent explicitement inclure les modules JavaFX dans les applications.

Source : JAVA

Et vous ?

Qu’en pensez-vous ?

Voir aussi

Interview de Laurent Bourgès, contributeur sur l'OpenJDK 9 la prochaine version de Java
Quel environnement de développement intégré Java utilisez-vous en 2018 ? Et pourquoi ?
FAQ JavaFX
JavaFX sera disponible en tant que module open source distinct du JDK et Java Web Start disparaitra à partir de Java 11


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de gstratege gstratege - Membre habitué https://www.developpez.com
le 24/09/2018 à 15:52
Moi je ne comprend plus rien dans Java.
Un coup Java va devenir payant par Oracle.
Un coup Java va être transféré à Eclipse : dans ce cas comment il va être payant ?
JavaFX de cet article sera-t il payant ?

N'hésitez pas à répondre si vous comprenez mieux ce qui se passe dans la monde Java.
Avatar de lbobinet lbobinet - Candidat au Club https://www.developpez.com
le 24/09/2018 à 15:59
Si je me rappelle bien du feuilleton:

Java reste gratuit, mais les versions obsolètes sont en support payant
Java EE a été lâché par Oracle et cédé à la fondation Eclipse
Java FX a été créé indépendamment du JDK (kit standard de dev), puis y a été intégré, et maintenant s'en retrouve séparé à nouveau
Avatar de Mickael_Istria Mickael_Istria - Membre émérite https://www.developpez.com
le 24/09/2018 à 22:58
Citation Envoyé par gstratege Voir le message
Un coup Java va devenir payant par Oracle.
Pour etre plus precis: L'implementation OracleJDK du language Java va devenir payant.
Java, le language, la specification, reste gratuit.
Il y a d'autres implems qui restent gratuites telle qu' AdoptOpenJDK, et il y a eu des implem payantes de Java avant ca. Au final, ca ne change rien au fondamentaux, c'est juste l'offre d'Oracle qui evolue, mais le language reste gere comme il l'etait avant.

Un coup Java va être transféré à Eclipse
Non, il n'a (pour l'instant) jamais ete question que Java soit transfere a la communaute/fondation Eclipse.
C'est Java EE qui a ete transfere. C''est pas pareil Java (le language) et Java EE (les APIs "enterprise".

JavaFX de cet article sera-t il payant ?
Le code de JavaFX sera open-source et gratuit.
Apres, Oracle a tout a fait le droit de prendre ce code, et de le mettre dans leur offre payante; AdoptOpenJDK a tout a fait le droit de prendre ce code, et de le mettre dans leur offre gratuite... Toi, tu as le droit de prendre ce code, et de te faire ton application avec si tu preferes ca a ce que proposent les fournisseur de JVM.
Avatar de darklinux darklinux - Membre régulier https://www.developpez.com
le 25/09/2018 à 9:18
Bon , pas de quoi fouetté un geek . Non il n ' y a que le support de la JVM d ' Oracle qui est payante , mais elle n 'est pas la référence . C est l ' Open JDK .
Avatar de ScientificWare ScientificWare - Candidat au Club https://www.developpez.com
le 25/09/2018 à 17:42
Merci Christian d'avoir évoqué MathML dans les fonctionnalités de JavaFX/OpenJFX!

Effectivement les personnes qui savent que JavaFX supporte nativement MathML sont peu nombreuses.
Cette possibilité n'a jamais été documentée ? ? ?
Alors voici une copie d'écran pour donner un exemple, ce sera plus parlant.



Travaillant sur le support de l'écriture et de l'édition mathématique depuis 2007 dans Java/Swing, cette fonctionnalité m'intéressait au plus haut point !

Mais ce n'est qu'en 2015 et un peu par hasard au détour d'une réponse à un post, que j'ai découvert que JavaFX supportait aussi MathML.
Malheureusement, après un rapide essai, il s'est avéré que cette fonctionnalité était cassée depuis 2011.

Pendant 2 ans, j'ai attendu en guettant d'éventuels progrès.
Puis en 2017 et 2018, je me suis lancé avec mon anglais approximatif.
D'abord sur la liste de l'OpenJDK/JFX puis sur le nouveau dépôt GitHub de JavaFX/OpenJFX.
La première réponse a été : Il existe bien un rapport de bug JDK-8147476 mais sa correction n'est pas programmée, alors si vous être pressé vous pouvez le faire vous-même.

Whaou, quel défi !
Quelques semaines de travail détaillées là JavaFX and MathML.
Pour aboutir finalement comme "un grand" à un correctif JDK-8147476 : Rendering issues with MathML token elements. #117 juste pour la sortie de JavaFX11.

J'avais hésité un moment avant d'oser me lancer, un de mes correctifs concernant le JDK avait mis 5 ans avant d'être accepté.
Cette fois-ci avec la nouvelle politique pour JavaFX et une petite mais précieuse aide de l'équipe de développement tout cela a été fait en 3 mois, test compris.

Depuis je parcours les forums pour le dire et surtout le montrer car la pérennité de ce support dépend du nombre des utilisateurs. Il ne manquait plus que mon site préféré, voilà c'est chose faite.

Je dois aussi remercier Frédéric Wang de la Société Igalia pour avoir répondu à mes questions sur son travail sur MathML.
J'espère qu'il parviendra à nous offrir également le support de MathML au sein de Chromium après avoir œuvré au cœur de WebKit.

Pour les plus septiques, j'ai mis un petit bout de code ici : Keep an answer which could be deleted in StackOverFlow.
Pour l'essayer, le plus simple est d'utiliser la version de Java 8 192 ea ou celle qui doit être publiée à partir du 25 septembre (c'est la dernière version du JDK qui contiendra JavaFX ).
Attention, ce bug ne devrait pas être corrigé dans les versions 9 et 10, sauf souscription à un support personnalisé auprès d'Oracle.
Avec JavaFX 11 c'est un peu plus compliqué.

On obtient ceci :


Justement, l'avenir de JavaFX et du SDK Java est très bien expliqué ici Java release chains - Splitting features from security

Alors n'hésitez pas à mettre les mains dans le cambouis !
Contacter le responsable de la rubrique Accueil