Voila on entend beaucoup parler de SWT comme concurrent sérieux de swing. Plus rapide, plus facile à manier etc...
Qu'en pensent les utilisateurs réguliers de java ?
Voila on entend beaucoup parler de SWT comme concurrent sérieux de swing. Plus rapide, plus facile à manier etc...
Qu'en pensent les utilisateurs réguliers de java ?
Swing: pas besoin de distribuer des jars/dll/autres bidules pour chaque OS possible.
Sinon SWT c'est super agréable aussi, j'ai rien contre, hein...![]()
Je suis un partisan de Swing. Il est vrai que la programmation SWING n'est guère complexe (remarque celle de SWT non plus) et j'ai beaucoup de mal à me passer de SWING.
Cependant, la seule chose que je critique sur SWING concerne la programmation des Layout (surtout le GridBagLayout). A part ça pour le déploiment d'une appli, c'est l'idéal.
@++
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code :tagcode: ni le tag :resolu:
Je ne répond à aucune question technique par MP.
GLDavid pour le developpement des IHM (et des gridbaglayout) j'utilise un RAD tel que NetBeans et je n'ai jamais rencontré aucune difficulté. Tout se met en place très facilement et cela permet de tester différentes possibilités.![]()
Ben, j'utilise aussi NetBeans, il n'mpêche que je n'ai jamais trouvé très évident le principe des GridBagLayout, mais peut être je fais un blocage et une fixation voir un traumatisme sur ce type de Layout![]()
![]()
.
@++
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code :tagcode: ni le tag :resolu:
Je ne répond à aucune question technique par MP.
Je suis plutôt d'accord avec GLDavid, le GridBagLayout est plutôt imbuvable et j'en suis moi même revenu.
Je conseille vivement (et ce n'est pas la première fois que j'en fait de la publicité) le package TableLayout qui s'utilise un peu à la façon des tableaux html, qui a je pense à peu près tous les avantages du GridBagLayout mais qui est d'une simplicité déconcertante !
Bonne journée à tous ;-)...
Oh la belle trouvaille ! Merci cpr0, je vais m'empresser de tester tout ça.
@++
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code :tagcode: ni le tag :resolu:
Je ne répond à aucune question technique par MP.
Moi je prefere swt:
J'ai une machine plutot vielle et les gui avec Swing on tendance a etre un peu penible.
En plus, je trouve le cote natif un peu plus sympa.
pareil, je suis plutot SWT, certes c'est un peu "jeune" encore, mais le rendu est bien plus agrable que swing. et au niveau consomation memoire, c'est beaucoup beaucoup plus léger
De plus l'arrivée de eclipse rcp (veritable framework de dev de client lourd) est une tres bonne nouvelle
Bonjour à tous,
J'ai voté pour Utilisateur Swing.
Je vais essayer d'éclairer mon choix en répondant à certaines de vos remarques :
Il faut quand même relativiser, concurrent sérieux ne me parais pas un terme adéquat. J'aurais préféré "une alternative interessante à swing". Il faut quand même voir que Swing reste la librairie graphique pour Java, "sponsorisée" (si je peux me permettre) par Sun. Il y a tout de même une différence de catégorieEnvoyé par c-top
![]()
Personnelemnet je trouve le nombre de layout disponibles tout à fait correct. C'est vrai que le GridBagLayout est un peu plus difficile à prendre en main. Je ne l'utilise jamais car un assemblage de panels utilisant d'autres layout me suffit largement. Il suffit juste d'un peu d'imagination pour obtenir ce que l'on veux.Envoyé par GLDavid
Moi aussi, j'utilise une vieille machineEnvoyé par nicolasN
. Mais, je n'ai jamais ressenti le besoin impératif de passer à SWT. Je pense qu'une bonne utilisation de swing n'est pas beaucoup plus lente que SWT. D'un autre côté, je ne suis pas un spécialiste de SWT, si vous avez des exemple particulièrement parlants, je suis preneur
![]()
Je trouve le rendu de swing plutôt agréable, sans parler de tous les l&f disponibles (celui de la 1.5 est pas mal d'ailleurs).Envoyé par lunatix
Pour résumer voici mes points positifs/négatifs pour les deux libs :
Swing
+ la librairies standard, cours et tutos en grand nombre, stable, complète
- une certaine lenteur pour de grosses applis
SWT
+ Ca change de swing, rapidité
- Encore incomplète a cause de son "age"
Ces points sont biensûr subjectifs. Je ne suis pas un spécialiste de SWT.
J'attends avec impatience les remarques des utilisateurs de SWT :
La rapidité de SWT est-elle si évidente?
Est elle vraiment complète? Que pouvez vous faire avec SWT que vous ne pouvez pas faire avec Swing, et inversement?
Vous utilisez seulement SWT ou SWT/JFace?
Question piège : Vous utilisez quel EDI pour dévellopper?![]()
En attendant vos réactions, je conseille à tout le mode d'essayer SWT, ne serais ce que par curiosité![]()
@+
Les FAQs Java, J2EE, JDBC, Struts > Les cours > Le Forum Java.
Merci de respecter les règles du club.
Mon blog : quelques news sur Java, Linux et le monde de l'Open Source.
J'aime bien SWING et JGOODIES pour ameliorer le rendu
Mais je n'ai jamais pratiqué SWT alors du coups je n'ai pas grand chose a dire.
- SWT a été développé pour les besoins d'éclipse ce qui me fait dire que SWT peut-être un concurrent sérieux à SWING. En effet on connait la guerre que se livre SUN et IBM pour imposer leur IDE. De nombreuses université tournées vers le monde de l'entreprise(exemple des IUT) se posent le problème du choix d'un IDE. L'étudiant possède un atout majeur s'il connait bien l'environnement de développement utilisé par son employeur....
Performances
Il est vrai que sur une configuration matérielle moyenne, les composants natifs utilisés par SWT sont plus rapides que les composants complexes de Swing. Ceci se traduit par une meilleure rapidité de chargement des composants et surtout une meilleure réactivité aux sollicitations de l'utilisateur.
Mais je serais curieux de comparer un TableViewer JFace ainsi qu'une JTable Swing affichant tous deux quelques milliers d'éléments, puis de comparer les temps de chargement. Malheureusement je n'utilise pas SWT et je n'ai pas trop le temps d'essayer alors s'il y a une ame charitable pour tenter l'expérience et nous faire part des résultats
![]()
Portabilité
Ce qui me gène c'est que la stratégie de SWT oblige l'utilisation de bibliothèques natives spécifiques à l'OS alors qu'il n'y a aucune contrainte particulière en Swing. Quelle que soit l'API, l'application est portable, mais dans le cas de SWT, il faudra préalablement installer les bibliothèques natives et les jars nécessaires sur le système du client ou mettre en place un système de chargement dynamique de ceux-ci.
Voilà, c'est bien le problème : personne n'a fait un test du type "Java2D démo" (un truc assez complet je veux dire), mais implémenté en swing dans un cas, en SWT dans l'autre. Et ce pour chaque version de la JVM de Sun.Envoyé par c-top
Je suis prêt à parier qu'en Java 1.3-1.4 sur une JVM IBM, SWT est plus rapide. A partir de la 1.5.... SWT n'a qu'à s'accrocher, sur tout sur une JVM Sun et sauf si effectivement votre machine est trop vieille pour avoir une carte accélératrice (même une entrée de game, ça suffit!). En effet, les JVM récentes sont accélérées, et Java 6 fait paraît-il un usage intensif d'OpenGL. SWT me semble complètement largué du point de vue perf à partir de Java 6.
Des courageux pour le test à la "hardware.com" ou autre ?
Observation
au moment ou j'écris ce message 290 personnes ont ouvert le post sachant qu'il est question d'un songade et seulement 32 personnes y ont répondu:
vedaer a écrit:
Moi aussi, j'utilise une vieille machine . Mais, je n'ai jamais ressenti le besoin impératif de passer à SWT. Je pense qu'une bonne utilisation de swing n'est pas beaucoup plus lente que SWT.
Personnellement, je trouve la lenteur de SWING inacceptable. Je prend le cas d'une simple fenêtre sans bouton sans rien. Je la déplace "vivement" sur mon écran avec ma souris et j'observe une magnifique traînée correspondant aux différents emplacements de ma fenêtre. Je n'ai rien codé de particulier, aussi, je ne pense pas avoir fait une mauvaise utilisation de SWING (j'ai un vieux P500MHz 256MO RAM). Je n'ai jamais vu ca avec C++, ou C#. Je comprend pourquoi le développement d'interfaces lourdes en Java à eu du mal à démarrer: il a fallu attendre que les postes soient suffisament performants.
Qui plus est, je reproche à SWING son pauvre support du format RTF. C'est gênant quand on a besoin d'une mise en page un peu évoluée. J'ai le sentiment que SUN ne cherche pas à faire vraiment évoluer SWING.
Enfin, au niveau design, je fais mieux avec des JSP. Je trouve que les interfaces SWING ne font pas professionnel. En revanche, SWT (à en juger par le look d'éclipse) assure bien. Mais là, je veux bien croire que je n'ai pas su trouver les configurations adéquates.
Vincent
J'ai voté les deux![]()
Pour moi Swing et SWT possède chacun leurs avantages et .... leurs inconvénients.
Quelques points :
Swing est portable car inclu dans la JVM.
Swing propose une gestion de look and feel qui permet de se rapprocher au mieux des interface native.
Swing propose une réelle séparation Model - Vue (gestion des données indépendantes de la gestion de l'affichage).
Les performances de SWING on grandement été amélioré dans les dernières versions de la JVM.
SWT est porté sur une bonne partie des OS, et pour le distribuer, il suffit d'inclure avec les librairies souhaités.
SWT est codé sur des composants natifs donc plus proche de l'interface habituelle de l'utilisateur.
SWT n'as pas une réelle séparation Model - Vue ce qui le rend parfois plus simple a appréhender.
SWT utilisant des composants natifs ses performances sont très bonnes.
Sinon j'ai découvert 2 APIs qui pourraient en intéresser quelques uns :
il s'agit de SWTSwing et SwingWT
SWTSwing permet donc un portage de SWT vers Swing et inversément pour SwingWT.
Je ne sais pas où en sont concrètement les projets et si le portage d'une API à l'autre se passent sans trop de problème, mais le concept me semble intéressant.
Par exemple, un développeur Swing reçoit un projet avec comme contrainte un développement en SWT. N'ayant pas trop de temps, l'API SwingWT lui permettrait de travailler sous Swing tout en obtenant un rendu et un code utilisant SWT.
Bien sur, je pense qu'il ne faut pas rêver d'un portage total et transparent notamment par leur fonctionnement, j'entends ici l'utilisation en natif de SWT.
Enfin, je pense que ce sont des idées à creuser![]()
Bonjour,
voilà .. personellement j'utilise beaucoup SWT/JFace pour mes développements, que ce soit pour des plugin Eclipse ou autre.
Ce que je pense des framework:
AWT: Primitif, je l'utilise pour une vieille applet. Suffisant pour un minimum d'interaction dans des pages web mais vraiment primitif.
SWING/JGoodies: Bon modele MVC. Lent vu qu'il n'est pas natif mais cela dit, la lenteur est toutes relative. Si l'on évite de mettre trop de n'importe quoi dans n'importe quoi, si l'on maitrise correctement les layout, les interfaces sont agréables et assez rapide. Le pb est tjr le look&feal qui n'est pas parfait sur certrains OS, mais SUN a fait du très beau boulot à ce niveau là et ca va en s'améliorant. Cela dit il faut pas réver, portabilité et perfection n'existent pas dans ce bas monde. Il faut impérativement faire des consessions.
SWT/JFace: Look&Feal natif, et avec les JFace et modele MVC est parfait. La vitesse des application est très bonne, et ceux qui ne sont pas convinqu n'ont qu'à comparer l'ancienne version d'éclipse écrite en SWING et celle basé sur la première mouture de SWT. Les compteurs de vitesse on carément exploser. On a utilisé SWT pour 2 applis et il n'y a rien à dire. personne ne peut dire si c'est écrit avec Delphi (composants std) ou Java. Si on utilise SWT sans JFace il est vrai que l'on peut lui reprocher une approche un peut primitive (je n'irais pas jusqu'à dire que c'est aussi lourd que les MFC tout de même). De plus, franchement SWT n'était pas faite pour être utilisé sans JFace. C'est un peut comme si on disait que les composants de Delphi (VCL) que ça ressemble aux MFC si on les utilisait sans l'objet TApplication et sans le designer visuel et si on gérait les messages windows à la main.
Le choix entre SWING/JGoodies et SWT/JFace est purement une question d'habitude je pense. Personellement je développe depuis DOS et j'ai découvert tous les framework textuel et graphique au fure et à mesure, (TurboVision, MetaFrame, DGE, ... Windows 3.xxx, ) et j'avait meme écrit un framework graphique pour TurboPascal qui avait été utilisé pour plein d'appli dos. Je n'ai donc pas été choqué par la manière de SWT de réserver et libérer explicitement les ressources, et je trouve que c'est une approche meilleure que celle de SUN avec son FULL MANAGED surtout sous windows. Meme Microsoft ne s'est pas empéché d'utiliser le meme modele en .NET dans le GDI+ pour la libération des objets utilisants des resources windows comme les brush et les contextes graphique (relisez vos cours .NET). de plus SWT ne vous oblige pas à libérer la mémoire explicitement pour TOUS les objets, les composites s'occupents eu meme de faire libérer ca en cascades à leurs enfants. De plus, sous Windows les resources tombent vite, donc une libération explicite ne vous laisse pas dépendant du bon vouloir du GC. Cela, ce n'est pas un choix IBM, c'est juste une manière de faire forcée par l'OS.
Pour la portabilité de SWT, je pense que les gens ne sont pas aussi impartial que cela. Franchement, je développe même des appli embarquées avec des GUI en java, je ne vois vraiment pas là où SWT ne marche pas.
Combien d'applications avez vous développez durant votre vie de développeur en Java sur combien d'OS l'avez vous portée ?
je dirais que 99% des appli (si l'on exclu l'embarque pour lequel SWT propose une version Compacte et SWING pareil) fonctionne sous Windows/OS2/MacOS/SOLARIS ...
or SWT existe pour plus de 12 plateformes différentes maintenant.
je en vois vraiment pas où SWT n'est pas portable.
Pour le déploiment, je pense que c'est aussi faux ... je me vois vraiment mal faire du déploiment pour une appli conséquente à la main. On utilise tous des outils dédié. Pour SWT+Jface si vous utilisez RCP tout est fait automatiquement pour vois, si vous le faite à la main les millions de lib à déployer et dont les gens s'en plaignent sont :
- UNE DLL ou 2 pour le support natif de l'OS
- Un ou 2 fichier JAR pour l'interface JNI
Donc on voit clairement que c'est super compliqué de déployer des appli SWT comparaitivement aux autres ...![]()
Bref c'était juste mon avis personnel. n'en déplaise à certains. On peut passer notre temps à comparer les framework, je pense que l'on ne votera que pour celui que l'on connait bien et sur lequel on a pris ses petites habitudes.
Bonne journée à tous![]()
Il existe une ancienne version d'Eclipse qui tourne sous Swing ?![]()
J'aimerai bien un lien pour voir ce que ça donne....
Non en fait c'est un plugin qui passe toute l'interface en Swing: EoS (alis Eclipse on Swing)Envoyé par puybaret
Eclipse sous Napkin ça a de la gueule
![]()
Partager