Vos avis sur SWT (Java)

Jeromac

Membre actif
29 Août 2008
465
12
Paris
Bonjour à tous.

Je souhaiterai avoir des retours d'expérience sur votre utilisation de SWT sur Mac OS X.

Je développais initialement en Java sous Windows, utilisant SWT, d'IBM. Ce choix réside en partie dans le fait que l'API utilise directement les composants natifs du système d'exploitation et que son GridLayout est vraiment simple d'utilisation, par rapport aux équivalents que l'on trouve chez Swing (le TableLayout - non officiel - est sympa, en passant).

Souhaitant "switcher" dans un futur plus ou moins proche (cela dépend en fait de l'éventuelle révision des Macbooks, mais c'est un autre débat...), j'aimerai étendre la portabilité de mes applications sur Mac OS X. Cependant, je ne sais pas ce que vaut le portage de SWT sur ce système. Ne l'ayant utilisé que sous Windows et GNU/Linux, je ne sais pas s'il peut convenir pour une application à "usage professionnel".

Une application Java utilisant SWT fonctionnant sous Windows fonctionnera-t-elle sous Mac OS X ? Ne risque t-elle pas un plantage suite à l'implémentation incomplète d'un composant graphique sous Mac OS X ? Est-ce que le portage SWT de Mac OS X est de qualité, comme c'est le cas sous Windows ? Est-il aussi fiable ? Puis-je me permettre de commencer à développer la vue d'une application sous Windows en gardant à l'esprit que les fonctionnalités qu'elle propose seront également disponibles sous Mac ?

Bien qu'ayant beaucoup plus d'expérience avec SWT qu'avec Swing, avec les progrès récents de Swing, je m'interroge néanmoins quant à une reconversion vers celui ci.

Qu'en pensez-vous ?
 

g.lebourgeois

Membre actif
30 Décembre 2006
174
4
Villejuif
www.guillaume-lebourgeois.fr
Salut,
je ne te répondrai que partiellement. Il faut savoir que Java et MacOSX sont moyennement copains, mais que toute application java < 1.6 devrait marcher sans souci.

Par contre, développer en java sur mac, ce n'est pas très amusant (du moins avec XCode), et Apple se fout royalement du monde en n'ayant toujours pas implémenté la 1.6 sur les machines 32 bits !!!

<troll>Mais dans l'idéal, tu abandonneras le java pour un vrai langage de programmation ;-)</troll>

Cela dit je n'ai pas une grosse expérience java sous MacOSX, je te conseille donc d'attendre des avis plus experts que le mien.
 

Jeromac

Membre actif
29 Août 2008
465
12
Paris
Il faut savoir que Java et MacOSX sont moyennement copains
J'avais entendu dire que Java faisait maintenant pleinement partie de Mac OS X ?

Par contre, développer en java sur mac, ce n'est pas très amusant (du moins avec XCode)
En fait, j'espère que le portage SWT sera suffisamment bon afin que je puisse utiliser Eclipse...

Apple se fout royalement du monde en n'ayant toujours pas implémenté la 1.6 sur les machines 32 bits
Mais on n'est pas en présence d'un système 64 bits ? En tout cas, en ce qui concerne la 1.6, je n'ai pas d'application qui en tire partie... pas trop grave pour moi donc.

<troll>Mais dans l'idéal, tu abandonneras le java pour un vrai langage de programmation ;-)</troll>
Peu probable dans un futur proche :up:
 

OlivierL

Membre actif
8 Novembre 2005
207
12
Sur mon iMac, j'ai Eclipse et NetBeans qui marchent bien tous les 2.
Pour ce qui est du portage de SWT, je dois dire que je trouve ça vraiment dommage d'utiliser en Java des librairies OS-spécifiques :rolleyes:
 

Jeromac

Membre actif
29 Août 2008
465
12
Paris
Pour ce qui est du portage de SWT, je dois dire que je trouve ça vraiment dommage d'utiliser en Java des librairies OS-spécifiques :rolleyes:
Pour quelles raisons est-ce dommage ? A cause de la nécessité d'intégrer la bibliothèque de SWT dans le jar ? Parce que SWT n'est pas standard et n'est pas présent dans la distribution de Java ? Parce qu'il faut libérer les composants graphiques (ce qui est en contradiction avec le GC de Java) ?

Mais si l'utilisation permet une meilleure intégration au système, offre de meilleures performances que Swing, et permet tout comme Swing de faire ce dont on a besoin ? Pourquoi se restreinte à utiliser Swing dans le cas où une application sera destinée à une ou deux plateformes ?

Certes, on bénéficie de la portabilité totale, mais ici, ce n'est pas ma priorité. Au prix d'une bibliothèque, le GUI se comporte comme une "application native".

D'ailleurs, quels sont les réels arguments qui vous font préférer Swing à SWT (que ce soit lié à Mac OS ou pas...) ?
 

Jeromac

Membre actif
29 Août 2008
465
12
Paris
Il n'y a donc personne qui aurait un avis sur l'état de SWT sur Mac ? :(
 

Eul Mulot

Membre actif
12 Juin 2006
822
73
33
Belfort
Perso sans réfléchir, de ma propre expérience, en quelques mots "De la merde".

Bon après je sais toujours pas pourquoi mon appli crashait sous OSX et pas sous Nunux ou Win, mais bon ...
 

Eul Mulot

Membre actif
12 Juin 2006
822
73
33
Belfort
Héhé, ça me rappelle aussi l'histoire de ces ingénieurs super compétents envoyés au Lux pour migrer le bordel informatique des banques de Cobol vers Java, ils ont abandonné au bout de 7 mois. :p

Nan mais sinon franchement SWT ça peut être assez sympa, mais j'ai pas l'expérience suffisante pour pouvoir en parler convenablement ici.
 
  • J’aime
Réactions: p4bl0

Jeromac

Membre actif
29 Août 2008
465
12
Paris
Je crois que finalement je vais devoir attendre d'avoir un Mac pour tester par moi même ce portage de SWT !

Je parlerai de mes retours ici, si ça peut éventuellement intéresser quelqu'un... :rolleyes:
 

eTeks

Membre actif
12 Novembre 2001
275
5
Paris
www.eteks.com
En 2006, j'ai développé les 8 premières versions de Sweet Home 3D, l'étude de cas cahier du programmeur Swing, en Swing et en SWT/JFace.
SWT sous Mac n'était pas toujours du bonheur mais ça marchait sans trop de problème.
Au final, je continue à préférer Swing, car c'est mieux architecturé et on peut plus facilement adapter les composants à ses besoins (les composants SWT/JFace sont basés sur des vrais composants du système donc tu ne peux pas changer tout ce que tu veux).
Si tu veux tester, les versions 0.1 à 0.8 de Sweet Home 3D sont sur SourceForget.net et les classes de tests SWT/JFace sont dans les packages com.eteks.sweethome3d.jface et com.eteks.sweethome3d.test.