IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

Vous utilisez SWT/JFace ou Java FX ? Partagez votre expérience


Sujet :

Interfaces Graphiques en Java

  1. #1
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 73 024
    Points
    73 024
    Par défaut Vous utilisez SWT/JFace ou Java FX ? Partagez votre expérience
    Êtes-vous plus Eclipse SWT/JFace ou Java FX ?
    Les choix stratégiques d'Oracle pourraient relancer le débat

    Avant l'arrivée de JavaFX et quand la boîte à outils Swing était largement mise en avant par Sun, la question se posait souvent sur le choix entre Swing et SWT/JFace la boîte à outils fournie par la plateforme Eclipse.

    Aujourd'hui Swing est en perte de vitesse et Oracle souhaite la remplacer par Java FX.

    Allons-nous voir apparaître un nouveau dilemme sur le choix de ces boîtes à outils Java pour le développement d'application de bureau ?

    La rubrique Java de Developpez.com vous propose aujourd'hui de partager votre opinion et votre expérience sur ces deux boîtes à outils que sont Java FX et SWT/JFace.

    Êtes-vous plus Java FX ou SWT/JFace ?
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur en génie logiciel
    Inscrit en
    Juin 2012
    Messages
    851
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en génie logiciel
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 851
    Points : 2 424
    Points
    2 424
    Par défaut
    Si je me fie au autre d'emploi de l'époque, le choix ne se posait même pas, c'était swing.

    Je crois que swing est en perte de vitesse tous simplement car le web tend à dominer au niveau du développement.

    Il suffit de regarder les offres d'emplois....... ça tourne majoritairement autour du web.

    La vrai question je crois est si Oracle va investir et pousser cette technologie?

    Il reste à avoir de bon éditeur graphique.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Points : 6
    Points
    6
    Par défaut le Graal !!!
    je crois que j'ai trouvé le graal , de l'IHM java !!!

    http://www.VAADIN.com

    ça se code comme du swing,
    et ça se comporte comme du RIA super classe
    ça fonctionne dans un navigateur , de ie6 a x pour les composant basic.
    ca fonctionne sur le mobile
    et ca peut fonctionner en standalone avec phonegap (pas encore testé)

    le graal pour un éditeur de logiciel qui souhaite couvrir tout les supports.

    c'est basé sur gwt.

    Philippe

  4. #4
    Membre à l'essai
    Profil pro
    Intégrateur
    Inscrit en
    Décembre 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2008
    Messages : 111
    Points : 18
    Points
    18
    Par défaut
    Les DSI ont pratiquement déjà sceller le fait de ne plus installer d’application sur le poste de travail, cela prend plus de temps d’installer 200 poste à distance que de déployer une application sur un serveur, sans parler de la maintenance et des migrations d’OS sur les poste de travail, donc, à moins de s’intégrer dans un client léger (ou client riche comme disent certains), je ne voit SWING ou autre technologie d’IHM lourde que perdre du terrain face à la richesse du client léger.

    Le cloud veux aussi faire un ravage et imposer encore plus une dictature du tous centraliser et accessible uniquement via client léger, mais cela touche gravement à la définition du poste de travail en lui-même qui pourrais ce voir transformer en interface de travail qui fournie un navigateur et une connexion réseau.

    En somme, la tendance reste plus en faveur du web que du client lourd, à moins de voir surgir de nulle part des outils permettant de normalisé l’intégration de client lourd plus facilement au sein d’un SI.

    Ayoub.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 81
    Points : 348
    Points
    348
    Par défaut
    Citation Envoyé par pdefert Voir le message
    je crois que j'ai trouvé le graal , de l'IHM java !!!

    http://www.VAADIN.com

    ça se code comme du swing,
    et ça se comporte comme du RIA super classe
    ça fonctionne dans un navigateur , de ie6 a x pour les composant basic.
    ca fonctionne sur le mobile
    et ca peut fonctionner en standalone avec phonegap (pas encore testé)

    le graal pour un éditeur de logiciel qui souhaite couvrir tout les supports.

    c'est basé sur gwt.

    Philippe
    Attention toutefois: avec Vaadin aucun traitement est réalisé côté client, tout se passe côté serveur. Il faut donc pouvoir tenir la charge.

  6. #6
    Membre à l'essai
    Profil pro
    Intégrateur
    Inscrit en
    Décembre 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2008
    Messages : 111
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par ithel Voir le message
    Attention toutefois: avec Vaadin aucun traitement est réalisé côté client, tout se passe côté serveur. Il faut donc pouvoir tenir la charge.
    c'est plutôt pas mal que de tous gérer coté serveur, ça évitera tous le débogage coté client des requêtes Ajax et veiller au chargement des objet du DOM, après j'ai pas encore tester, mais j'ai déjà utilisé Extjs et GWT, et c'est beaucoup mieux que du swing, l'avantage aussi des CSS fait la différance quant même

    Ayoub.

  7. #7
    Membre émérite
    Homme Profil pro
    Ingénieur en génie logiciel
    Inscrit en
    Juin 2012
    Messages
    851
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en génie logiciel
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 851
    Points : 2 424
    Points
    2 424
    Par défaut
    Citation Envoyé par pdefert Voir le message
    je crois que j'ai trouvé le graal , de l'IHM java !!!

    http://www.VAADIN.com

    ça se code comme du swing,
    et ça se comporte comme du RIA super classe
    ça fonctionne dans un navigateur , de ie6 a x pour les composant basic.
    ca fonctionne sur le mobile
    et ca peut fonctionner en standalone avec phonegap (pas encore testé)

    le graal pour un éditeur de logiciel qui souhaite couvrir tout les supports.

    c'est basé sur gwt.

    Philippe
    c'est pas nouveau
    dans le même genre mais orienté client il y a ext-gwt

    la version actuel de vaadin ne supporte qu'une architecture serveur
    la version 7 apportera le côté client
    les avantages/défauts des deux pourront être combiné

    Citation Envoyé par moustic98 Voir le message
    c'est plutôt pas mal que de tous gérer coté serveur, ça évitera tous le débogage coté client des requêtes Ajax et veiller au chargement des objet du DOM, après j'ai pas encore tester, mais j'ai déjà utilisé Extjs et GWT, et c'est beaucoup mieux que du swing, l'avantage aussi des CSS fait la différance quant même

    Ayoub.
    il y a la sécurité aussi
    après je crois qu'on développe pas de la même façon...... il faut faire beaucoup plus attention au ressource

  8. #8
    Membre à l'essai
    Profil pro
    Intégrateur
    Inscrit en
    Décembre 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2008
    Messages : 111
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par marc.collin Voir le message
    c'est pas nouveau
    dans le même genre mais orienté client il y a ext-gwt

    la version actuel de vaadin ne supporte qu'une architecture serveur
    la version 7 apportera le côté client
    les avantages/défauts des deux pourront être combiné



    il y a la sécurité aussi
    après je crois qu'on développe pas de la même façon...... il faut faire beaucoup plus attention au ressource
    j'ai pas bien compris ce que tu veux dire par sécurité

  9. #9
    Membre émérite
    Homme Profil pro
    Ingénieur en génie logiciel
    Inscrit en
    Juin 2012
    Messages
    851
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en génie logiciel
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 851
    Points : 2 424
    Points
    2 424
    Par défaut
    Citation Envoyé par moustic98 Voir le message
    j'ai pas bien compris ce que tu veux dire par sécurité
    En autre les framework orienté serveur n'expose pas la logique du côté client.


    je t'invite à te renseigner sur les frameworks orienté serveur, client, c'est assez intéressant et instructif.

  10. #10
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 210
    Points : 459
    Points
    459
    Par défaut
    Pourrais-tu expliciter un peu + quelle partie du code "logique" on va retrouver coté client et qui met en péril la sécurité ?

  11. #11
    Membre averti
    Homme Profil pro
    Expert MDE
    Inscrit en
    Janvier 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Expert MDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 183
    Points : 337
    Points
    337
    Par défaut
    Il y a eu une belle conf (dispo sur Parley's) au BreizhCamp sur JavaFX 2. depuis que le l'ai vue, j'y crois!

  12. #12
    Membre émérite
    Homme Profil pro
    Ingénieur en génie logiciel
    Inscrit en
    Juin 2012
    Messages
    851
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en génie logiciel
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 851
    Points : 2 424
    Points
    2 424
    Par défaut
    Citation Envoyé par bugsan Voir le message
    Pourrais-tu expliciter un peu + quelle partie du code "logique" on va retrouver coté client et qui met en péril la sécurité ?
    ton code métier, tes traitements, tes validations
    tu peux très bien faire une application avec la majorité du traitement du côté du client

    j'ai récemment vu un système où il était assez simple de falsifier des données....

    une fois que tu recevais les données en local, tu éditais la pages par exemple tu changeais le id qui était 3 par 5.... et écrasait ainsi les données du id 5

    faudrait peut-être démarrer un autre discussion...... car c'est pas vraiment en lien avec le sujet initial

  13. #13
    Membre émérite
    Homme Profil pro
    Ingénieur en génie logiciel
    Inscrit en
    Juin 2012
    Messages
    851
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en génie logiciel
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 851
    Points : 2 424
    Points
    2 424
    Par défaut
    il y avait eu des démos de javafx sous ios et android.
    ça pourrait contribuer à faciliter le développement

    la roadmap de javafx
    http://www.oracle.com/technetwork/ja...p-1446331.html

    JavaFX Scene Builder afin de créer des interfaces simplement
    http://www.oracle.com/technetwork/ja...ols/index.html

  14. #14
    Membre à l'essai
    Profil pro
    Intégrateur
    Inscrit en
    Décembre 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2008
    Messages : 111
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par marc.collin Voir le message
    ton code métier, tes traitements, tes validations
    tu peux très bien faire une application avec la majorité du traitement du côté du client

    j'ai récemment vu un système où il était assez simple de falsifier des données....

    une fois que tu recevais les données en local, tu éditais la pages par exemple tu changeais le id qui était 3 par 5.... et écrasait ainsi les données du id 5

    faudrait peut-être démarrer un autre discussion...... car c'est pas vraiment en lien avec le sujet initial
    Je suis tous à fait d'accord avec toi, l'encapsulation permet de pas trop tombé dans le panneau, mais faut aussi mettre toutes la logique de traitement coté serveur, sinon faut lancer un autre débat et ne pas trop polluer celui-ci

  15. #15
    Membre émérite
    Homme Profil pro
    Ingénieur en génie logiciel
    Inscrit en
    Juin 2012
    Messages
    851
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en génie logiciel
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 851
    Points : 2 424
    Points
    2 424
    Par défaut
    je fais malheureusement du swing actuellement que sous Java 1.5 donc javafx ce n'est pas pour tous de suite.

    si c'est disponible tel qu'il avait été au départ sur les tv, mobile et bureau, ça permettrait de toucher un large public d'un seul coup
    sans compté que ça sera inclus dans la jvm au lieu d'un produit externe tel que swt

  16. #16
    Membre du Club
    Homme Profil pro
    baz
    Inscrit en
    Novembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : baz
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 43
    Points : 52
    Points
    52
    Par défaut
    Pour en revenir au sujet initial, j'ai eu de (très) mauvaises expériences avec SWT.
    Si on fait une IHM fixe (équivalent web 1.0), ça doit pouvoir être jouable, dès qu'on tombe dans le dynamique (équivalent web 2.0), c'est l'anarchie totale.

    À mon avis sur SWT, la plus grosse erreur qui a été faite est la nécessité de construire tous les widgets en connaissant à l'avance le parent : Widget(Widget parent, int style).
    Il est impossible de reparenter un composant après sa création !
    Des cas d'utilisation classiques et simples mais qui deviennent juste infernaux à faire en SWT : gérer des éléments dans 2 colonnes et changer un élément de colonne, trier un tableau d'éléments par rapport à une colonne…

    À noter aussi des choses assez étranges, comme des centaines d'attributs tous stocker sous la classe SWT et utilisés comme 2nd paramètres dans les constructeurs, mais sans aucune logique (ça va de la gestion des bordures aux clics de souris en passant par la police à utiliser) ni type-safety (tous les composants n'acceptent pas tous les paramètres disponibles et planteront lamentablement à l'exécution si on en passe un mauvais).

    Pour finir, de jolies fuites mémoire sur la gestion des polices, des images ou des couleurs, un concept du MVC à la limite du foireux…

    À sa décharge, je me servais de SWT de la même manière que Swing, c'est-à-dire sans les surcouches type JFace ou RCP.
    Peut-être que c'est plus utilisable avec ce genre de techno, mais en natif, on ne m'y reprendra plus !

    Avec tout ça, il faut encencer les développeurs d'Eclipse, qui arrivent quand même à faire un sacré boulot avec un truc qui sent aussi mauvais =)

    Niveau JavaFx, jamais vraiment pratiqué, mais ça me semble très prometteur, avec des fonctionnalités vraiment sympa (bind powered !!!).
    Je pense que ça sera ma prochaine expérimentation sur mon prochain projet pro qui me le permettra.

  17. #17
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 182
    Points : 268
    Points
    268
    Par défaut
    Jai commencé lentement le javafx avec le scene builder, cest tres different de swing, le potentiel est enorme mais pour l'instant les outils ne sont pas au point et la documentation sur le web est tres minime.

    Je suis deja impatient de voir la suite et d'en apprendre davantage, pour l'instant il est un peu tot pour me forger un opinion definitive.

    swing est encore vivant...

  18. #18
    Membre du Club

    Homme Profil pro
    Hobbyiste
    Inscrit en
    Juillet 2018
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Hobbyiste

    Informations forums :
    Inscription : Juillet 2018
    Messages : 126
    Points : 68
    Points
    68
    Billets dans le blog
    1
    Par défaut Miglayout
    J'ai trouvé miglayout assez sympa mais commercial je crois qu'il y a une version free.
    Je corrige c'est un layout manager très complet. La version que j'utilise dans l'idée "JComponentBuilder" (éditeur d'interfaces graphiques) je pense est commerciale mais les binaires livrés avec sont libres (compile, runtime).
    C'est la première fois que j'arrive à faire une gui.
    Ça existe pour Swing et javafx génération de code pas parfaite mais quand on a pris en considération les limites et le fonctionnement il y a moyen de faire quelque chose sans tout coder péniblement. Ça existe aussi pour Javafx mais ça fait 8 mois que je n'y ai plus touché because maladie hôpital.
    J'ai essayé aussi JavaFX mais j'ai "décroché" à mon âge je devrais pas dire comme ça mais ce qui m'est arrivé était ultra violent. Je vais m'y remettre. Ce que j'ignore et que je n'ai pas su développer comme compétence c'est la fluidité et la réactivité dans l'exécution des tâches. Bien threader, choisir le bon ensemble de composants et faire rouler...

  19. #19
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 838
    Points : 22 846
    Points
    22 846
    Billets dans le blog
    51
    Par défaut
    Pour les taches de fond c'est par la
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  20. #20
    Nouveau Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut JavaFX
    J'ai eu une assez bonne expérience avec JavaFX. A commencé le développement de l'interface graphique en Java il y a quelques mois après une certaine expérience avec l'interface graphique python (pyqt5 et tkinter). Comparé à eux, JavaFX est comparable à mon avis.

Discussions similaires

  1. Réponses: 25
    Dernier message: 06/06/2013, 11h13
  2. Réponses: 43
    Dernier message: 10/01/2013, 18h54
  3. Réponses: 4
    Dernier message: 24/10/2012, 16h56
  4. Réponses: 1
    Dernier message: 03/09/2012, 15h17
  5. Vous utilisez SWT ou Swing ?
    Par c-top dans le forum AWT/Swing
    Réponses: 84
    Dernier message: 12/10/2011, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo