JavaFX fait partie d'OpenJDK
Le projet JavaFX lui-même est open source et fait partie du projet OpenJDK .
Mise à jour déc.2019
Pour obtenir des informations actuelles sur l'utilisation d'Open Source JavaFX, visitez https://openjfx.io . Cela inclut des instructions sur l'utilisation de JavaFX en tant que bibliothèque modulaire accessible à partir d'un JDK existant (comme une installation Open JDK ).
Le référentiel de code open source pour JavaFX se trouve à l' adresse https://github.com/openjdk/jfx .
À l'emplacement source lié, vous pouvez trouver des fichiers de licence pour JavaFX ouvert (actuellement, cette licence correspond à la licence pour OpenJDK: exception de chemin de classe GPL +).
Le wiki du projet se trouve à l' adresse : https://wiki.openjdk.java.net/display/OpenJFX/Main
Si vous souhaitez un démarrage rapide de l'utilisation de JavaFX ouvert, les distributions Belsoft Liberica JDK fournissent des binaires pré-construits d'OpenJDK qui (actuellement) incluent JavaFX ouvert pour une variété de plates-formes.
Pour la distribution en tant qu'applications autonomes, Java 14 devrait implémenter JEP 343: Packaging Tool , qui «prend en charge les formats de packaging natifs pour offrir aux utilisateurs finaux une expérience d'installation naturelle. Ces formats incluent msi et exe sous Windows, pkg et dmg sous macOS , et deb et rpm sur Linux. ", pour le déploiement d'applications basées sur OpenJFX avec des programmes d'installation natifs et sans dépendances de plate-forme supplémentaires (comme un JDK préinstallé).
Informations plus anciennes qui peuvent devenir obsolètes avec le temps
Construction de JavaFX à partir du référentiel OpenJDK
Vous pouvez créer une version ouverte d'OpenJDK (y compris JavaFX) entièrement à partir de la source qui n'a aucune dépendance sur le JDK Oracle ou le code source fermé.
Mise à jour: utilisation d'une distribution JavaFX pré-construite à partir de sources OpenJDK
Comme indiqué dans les commentaires de cette question et dans une autre réponse, les distributions Debian Linux offrent une distribution binaire JavaFX basée sur OpenJDK:
(actuellement cela ne fonctionne que pour Java 8 pour autant que je sache).
Différences entre Open JDK et Oracle JDK par rapport à JavaFX
Les informations suivantes ont été fournies pour Java 8. À partir de Java 9, le codage VP6 est déconseillé pour JavaFX et la technologie de déploiement d'applications intégrées Oracle WebStart / Browser est également déconseillée . Ainsi, les futures versions de JavaFX, même si elles sont distribuées par Oracle, n'incluront probablement aucune technologie qui ne soit pas open source.
Oracle JDK comprend certains logiciels qui ne sont pas utilisables à partir d'OpenJDK. Il existe deux composants principaux liés à JavaFX.
- Le codec vidéo ON2 VP6, qui appartient à Google et Google n'a pas de source ouverte.
- La technologie de déploiement d'applications Oracle WebStart / Browser Embedded.
Cela signifie qu'une version ouverte de JavaFX ne peut pas lire les fichiers VP6 FLV. Ce n'est pas une grosse perte car il est difficile de trouver des encodeurs VP6 ou des supports encodés en VP6.
D'autres formats vidéo plus courants, tels que H.264, pourront être lus correctement avec une version ouverte de JavaFX (tant que vous avez les codecs appropriés préinstallés sur la machine cible).
L'absence de technologie de déploiement WebStart / Browser Embedded est vraiment quelque chose à voir avec OpenJDK lui-même plutôt qu'avec JavaFX en particulier. Cette technologie peut être utilisée pour déployer des applications non JavaFX.
Ce serait formidable si la communauté OpenSource développait une technologie de déploiement pour Java (et d'autres logiciels) qui remplaçait complètement les méthodes de déploiement WebStart et Browser Embedded, permettant une belle expérience utilisateur légère et à faible impact pour la distribution d'applications. Je crois que certains projets ont commencé à servir un tel objectif, mais ils n'ont pas encore atteint un niveau élevé de maturité et d'adoption.
Personnellement, je pense que les déploiements WebStart / Browser Embedded sont une technologie héritée et qu'il existe actuellement de meilleures façons de déployer de nombreuses applications JavaFX (telles que des applications autonomes).
Mise à jour de décembre 2019:
Une version open source de WebStart pour JDK 11+ a été développée et est disponible sur https://openwebstart.com .
Qui a besoin de créer des distributions Linux OpenJDK qui incluent JavaFX
Il appartient aux personnes qui créent des packages pour les distributions Linux basées sur OpenJDK (par exemple Redhat, Ubuntu, etc.) de créer des RPM pour le JDK et le JRE qui incluent JavaFX. Ces distributeurs de logiciels doivent ensuite placer les packages générés dans leurs référentiels de code de distribution standard (par exemple, les référentiels fedora / red hat network yum). Actuellement, cela n'est pas fait, mais je serais assez surpris si les packages Java 8 Linux n'incluaient pas JavaFX lors de la sortie de Java 8 en mars 2014.
Mise à jour, décembre 2019 :
Maintenant que JavaFX a été séparé de la plupart des distributions binaires JDK et JRE (y compris la distribution d'Oracle) et est, à la place, disponible en tant que SDK autonome, ensemble de jmods ou en tant que dépendances de bibliothèque disponibles à partir du référentiel central Maven (comme indiqué comme suit: https://openjfx.io ), il est moins nécessaire que les distributions Linux OpenJDK standard incluent JavaFX.
Si vous voulez un JDK pré-construit qui inclut JavaFX, pensez aux distributions Liberica JDK , qui sont fournies pour une variété de plates-formes.
Conseils sur le déploiement pour des applications importantes
Je vous conseille d'utiliser le mode de déploiement d' application autonome de Java .
Une description de ce mode de déploiement est:
L'application est installée sur le lecteur local et s'exécute en tant que programme autonome à l'aide d'une copie privée des environnements d'exécution Java et JavaFX. L'application peut être lancée de la même manière que d'autres applications natives pour ce système d'exploitation, par exemple à l'aide d'un raccourci sur le bureau ou d'une entrée de menu.
Vous pouvez créer une application autonome à partir de la distribution Oracle JDK ou d'une version OpenJDK qui inclut JavaFX. Il est actuellement plus facile de le faire avec un JDK Oracle.
Comme une version de Java est fournie avec votre application, vous n'avez pas à vous soucier de la version de Java qui a pu être préinstallée sur la machine, de ses capacités et de sa compatibilité ou non avec votre programme. Au lieu de cela, vous pouvez tester votre application par rapport à une version d'exécution Java exacte et la distribuer avec votre application. L'expérience utilisateur pour déployer votre application sera la même que pour installer une application native sur leur machine (par exemple un windows .exe ou .msi installé, un OS X .dmg, un linux .rpm ou .deb).
Remarque: la fonction d'application autonome n'était disponible que pour Java 8 et 9, et non pour Java 10-13. Java 14, via JEP 343: Packaging Tool , devrait à nouveau fournir la prise en charge de cette fonctionnalité à partir des distributions OpenJDK.
Mise à jour, avril 2018: Informations sur la politique actuelle d'Oracle envers les développements futurs