web-dev-qa-db-fra.com

JavaFX - peut-il vraiment être déployé dans un navigateur?

J'ai effectué des recherches sur JavaFX au cours de la dernière année et j'ai même construit des applications de bureau de base avec ce logiciel.

Il est décrit comme étant utilisé pour créer des RIA (Rich Internet Application).

http://en.wikipedia.org/wiki/Javafx

Mais peut-il réellement être déployé par un navigateur Web? Je ne l'ai déployé que via un fichier JAR exécutable.

Est-il facile de déployer via un navigateur Web? Est-ce que ça marche? Est-ce que quelqu'un a de l'expérience avec ça?

http://docs.Oracle.com/javafx/2/deployment/deployment_toolkit.htm

61
Alexander Mills

Mise à jour de mars 2018 Java Feuille de route du client

J'encourage les lecteurs intéressés par cette question à consulter le livre blanc Oracle suivant:

Le document ci-dessus décrit la position officielle d’Oracle sur les technologies associées (JavaFX/Swing/AWT/Applets/WebStart), les dates jusqu’à laquelle il compte prendre en charge ces technologies et, parmi les technologies qu’il envisage de migrer vers des projets de développement open source JDK et JRE.

Mise à jour pour Java 9, octobre 2017

Selon le notes de version de Java 9 :

Fonctionnalités d'applet Java et WebStart, y compris l'API d'applet, le plug-in Java, le visualiseur d'applet Java, JNLP et Java Web Start, y compris l'outil javaws, sont toutes obsolètes dans JDK 9 et seront supprimées dans une prochaine version.

Ainsi, pour Java 9+, le déploiement de JavaFX dans un navigateur utilisant un plug-in Java ne sera possible qu'avec une technologie obsolète. Notes Oracle dans une autre partie de la notes de version de Java 9 :

Déconseille le plug-in Java et les technologies d’applet associées dans les versions JDK 9 d’Oracle. Bien qu'elles soient encore disponibles dans JDK 9, ces technologies seront prises en compte dans la suppression des JDK et JRE Oracle dans une version ultérieure. Les applets et les applications JavaFX incorporés dans une page Web nécessitent l'exécution du plug-in Java. Envisagez de réécrire ces types d’applications en tant que Java Web Start ou en applications autonomes.

Remarque: Java Web Start n'est pas vraiment une alternative, car il est également obsolète (en tout cas, il est différent d'une application incorporée et restituée dans une page de navigateur).

En guise d'alternative offrant des fonctionnalités similaires, considérons quelque chose comme jpro , qui déploie des applications JavaFX dans un navigateur sans plug-in Java (jpro est actuellement uniquement en version bêta fermée, de sorte qu'il ne l'est pas. une solution viable à partir d’octobre 2017, mais peut-être un jour dans l’avenir ...).

Pour le moment, je recommanderais que le meilleur moyen de déployer des applications JavaFX consiste à applications autonomes , fonctionnant en dehors d'un navigateur.


Réponse précédente pour Java 7 et 8

JavaFx - peut-il vraiment être déployé dans un navigateur?

Oui, les applications JavaFX peuvent être déployées pour s'exécuter dans une page Web HTML hébergée par un navigateur Web.

La technologie qui permet que cela se produise est le Java Plugin . Ce plugin est actuellement une solution de plugin de navigateur basée sur NPAPI . Le plug-in Java est livré avec le Oracle Java 7 Runtime Standard Environment .

Tous les navigateurs ne sont pas pris en charge, seuls ceux répertoriés dans la page page Configurations prises en charge par JavaFX .

Est-il facile de déployer via un navigateur Web?

Le moyen le plus simple de déployer un projet JavaFX dans un navigateur Web est:

  1. Créer un nouveau projet JavaFX dans NetBeans .
  2. Développer une simple application HelloWorld .
  3. Suivez les instructions pour Déploiement de votre première application JavaFX .

Ce n'est pas difficile (à mon avis).

Vous pouvez également suivre les instructions de la référence détaillée pour Déploiement d'applications JavaFX (ou utiliser des outils tiers). Pour de nombreux projets, il est préférable d’utiliser un outil autre que NetBeans IDE pour effectuer l’emballage. Cependant, il est généralement plus facile de laisser les NetBeans IDE gérer les tâches de conditionnement du déploiement pour vous.


Ce qui suit n’est pas lié à la réponse à la question initiale, mais donne certains avis et informations demandés dans les commentaires de cette réponse.

Quelques conseils

Le déploiement de Java dans un navigateur présente des pièges. Je vous encourage à faire votre propre recherche Google sur le sujet.

Dans mon esprit, sur la base du modèle de déploiement JavaFX 2.x actuel, pour la plupart des types d’application nécessitant un navigateur comme conteneur d’exécution principal, l’utilisation de JavaFX n’est pas une solution appropriée.

Examinez les exigences de déploiement et d'exécution pour votre application. En fonction de vos besoins et de votre connaissance du modèle d'exécution basé sur un navigateur JavaFX, déterminez si un déploiement basé sur un navigateur utilisant la technologie JavaFX constitue le mécanisme approprié pour votre application.

Quelques difficultés potentielles pour les applications JavaFX intégrées à un navigateur

Certains navigateurs importants (par exemple Internet Explorer 1 , iOS Safari et bientôt Desktop Chrome ) n'autorisent pas l'exécution de plug-ins à l'aide de l'interface NPAPI actuellement utilisée par le Java navigateur plugin => certains de vos utilisateurs cibles risquent de ne pas pouvoir utiliser votre application.

Avec une application intégrée au navigateur, vous n’avez pas le contrôle total sur le temps d’exécution de votre application (navigateur + Java runtime + interface de plug-in) => une application qui fonctionnait lors de la première installation peut cesser de fonctionner attendu après une mise à jour de ces composants d'exécution.

Alternatives de déploiement

Si un modèle de déploiement basé sur un navigateur ne convient pas à votre application, il existe d'autres moyens pour déployer des applications JavaFX (par exemple, WebStart, fichiers JAR autonomes et applications autonomes).

67
jewelsea

JavaFX - peut-il vraiment être déployé dans un navigateur?

Non, plus maintenant.

La réponse utilisait pour être oui, comme indiqué dans cette réponse , même si en 2013, l'écriture était déjà écrite le mur. Cependant, ici en 2016, la réponse est non, cela ne peut pas. Les navigateurs modernes ne prennent pratiquement plus en charge NPAPI (Firefox le fait pour Java, mais seulement jusqu'à la fin de l'année), et NPAPI est requis pour le plugin Java.

40
T.J. Crowder

À partir de 2016, vous pouvez utiliser jpro sans plug-in de navigateur. Et cela fonctionne même sur les mobiles.

Edit 1: Le projet est gratuit pour les projets non commerciaux ou open source. Un "bonjour le monde" peut être trouvé ici

10
KIC

J'ai trouvé la solution par hasard ici . ce qui manquait dans mon projet web.

Je dois ajouter ceci au fichier web.xml:

 <mime-mapping>
    <extension>jnlp</extension>
    <mime-type>application/x-Java-jnlp-file</mime-type>
</mime-mapping>
1
kamel2005