6
votes

Comment puis-je utiliser HTML & CSS pour créer l'interface utilisateur pour mon application Java?

Je viens de lire cet article: http://docs.oracle .Com / javafx / 2 / webview / jfxpub-webview.htm Il affiche comment créer une application Java à l'aide de la bibliothèque Javafx et comment utiliser certaines classes telles que WebEngine et Webview pour afficher une page Web dans l'application , en train de le transformer en un navigateur.

Voici quelques informations pertinentes de l'article:

Le composant de navigateur embarqué est basé sur WebKit, une bande open source Moteur de navigateur. Il soutient des feuilles de style en cascade (CSS), JavaScript, Modèle d'objet de document (DOM) et HTML5.

Le navigateur intégré vous permet d'effectuer les tâches suivantes dans vos applications Javafx:

  1. Rendez le contenu HTML des URL locales et distantes
  2. Obtenez Historique Web
  3. Exécutez les commandes JavaScript
  4. Effectuez des upcalls de JavaScript vers JavaFX
  5. Gérer les fenêtres pop-up Web
  6. Appliquez des effets sur le navigateur intégré

    Je voudrais fondamentalement être entièrement distribuez avec Java ou JavaFX GUI Tools, à l'exception de ceux qui sont nécessaires pour afficher HTML et CSS, comme décrit dans l'article, et créez l'ensemble de l'interface utilisateur de mon application dans HTML et CSS. Je voudrais que divers boutons HTML provoquent des événements de transpirer dans mon code Java.

    Cela semble-t-il comme une bonne idée? Et comme cela semble être une bonne idée pour moi, je me demandais également pourquoi quiconque utiliserait-il une autre méthode pour construire une interface graphique en Java.


2 commentaires

+1 Je suis curieux de cela pendant un moment, venant d'un arrière-plan HTML / CSS et de ne pas aimer le L & F par défaut de Java.


La question de savoir comment créer une telle application semble être déjà répondu à votre question. Collecte des votes et des avis sur que ce soit une bonne idée n'est pas vraiment quelque chose que Stackoverflow est pour l'OMI.


4 Réponses :


0
votes

Vous pouvez utiliser un cadre MVC telle que Struts2 ou printemps mvc avec AJAX et construire une interface utilisateur (le composant de vue) complètement avec HTML / CSS . Parfois, en utilisant un moteur de modèle tel que Freemarker 3 aide également à remplacer le rendu Java par défaut avec des solutions HTML / CSS PURE.


0 commentaires

2
votes

Je crée une application de bureau entière avec un seul webview , il est disponible à github . Fondamentalement, il est un seul fichier HTML qui relie une douzaine de fichiers JS. Pour appeler Java de JS, j'allume mes demandes à Json et appelez un haricot de façade Java. Il est également possible d'appeler JS de Java de la même manière. Bien qu'il soit possible d'appeler directement Java en invoquant une méthode sur un haricot Java avec des paramètres de n'importe quel type, j'ai eu quelques crashs d'application après quoi j'ai décidé de le rendre complètement sûr et de rester avec Json. Cette application utilise Angularjs et Twitter Bootstrap pour rendre les pages.

J'avais créé un billet dans la Jira d'Oracle pour une meilleure intégration Java (JSR-223) à l'intérieur d'une vision Web et leur réponse a été programmée pour Java 9.

Le développement est assez rapide, lorsque le processus est configuré - il est difficile de déboguer l'application au début car il n'y a pas de débogueur. Certaines exceptions JS de niveau de haut niveau ne sont pas aussi attrapées. Pour le moment, je n'ai aucun problème avec webview à JavaFX 8. Javafx 7 est inutilisable pour moi en raison du problème des polices.

Répondre à votre dernière question - je n'ai aucune idée, mais la situation est complètement le contraire. Pour une raison quelconque, Oracle met des ressources pour le développement de composants natifs JavaFX, mais pas pour une meilleure intégration WebView.


0 commentaires

0
votes

Vaadin

Vaadin est un cadre de servlet sophistiqué qui crée des applications basées sur le serveur qui exécutent votre code PURE Java Tout en rendant automatiquement l'interface utilisateur du côté du client dans HTML, CSS et JavaScript.

Vous n'avez pas besoin de savoir ni de faire en programmation dans ces technologies du client Web, Vaadin effectue tous les travaux liés au Web pour vous. Pas de modèles Web, pas de pages, rien de de cela. Votre code Java crée simplement une étiquette, un champ, des boutons et des mises en page. Vaadin transforme les personnes à la volée pour être rendue dans le navigateur. Pure Java sur le serveur, pas de Java du tout sur le côté client / navigateur.

XOJO

Vaadin n'est pas "encore un autre cadre d'applications Web". Il n'a vraiment pas de concurrents directs en termes d'architecture, à l'exception du non-Java Xojo Web édition Web qui utilise son propre propriétaire < Un href = "https://fr.wikipedia.org/wiki/Object-oriented_programming" rel = "nofollow"> oop langue.


0 commentaires

0
votes

Cela semble une très bonne idée.

Une alternative peut être d'utiliser Jetée < / a> ou un serveur open source similaire, mais vous avez beaucoup plus de travail à faire pour l'adapter à votre application. Une autre alternative consiste à construire un application Java Ee , mais ce n'est pas le cas Beaucoup d'agile pour une vue Web simple de votre application, Java EE vous offre la possibilité de créer des pages Web dynamiques à l'aide des pages de serveur Java et de gérer les demandes utilisateur à l'aide des servlets, mais vous devez soumettre à sa structure et cela n'est pas utile pour votre application facile.


0 commentaires