SWING ou SWT, que choisir ?

Ali

En faisant le tour des projets professionnels Java proposant une IHM, on se rend rapidement compte que l’API la plus répandue est SWING. Lors de mon stage, j’ai dû faire un choix entre SWING et SWT, les deux API Java historiques d’interface graphique. Mais quelle différence y-a-t-il entre les deux ?

OS :
SWING utilise des composants graphiques complètement écrits en Java et donc indépendants de l’OS alors que SWT utilise des composants natifs de l’OS.
On voit déjà que la philosophie de SWING est « write once, run everywhere » quelque soit l’OS alors que pour SWT c’est « write once, test everywhere » ce qui peut apporter plus de charge de tests et de développement.

Portabilité :
Contrairement à SWT, SWING fait partie de l’API standard de Java JS2E. Ainsi pour un projet utilisant SWT, il y a une obligation d’installer les bibliothèques natives et les jars nécessaires dans le système du client.

Performance :
La question sur les performances des deux API est encore sujet à débats. Les composants natifs utilisés par SWT sont plus rapides à charger et offrent une meilleure réactivité aux sollicitations de l’utilisateur. Mais dans le cas d’un grand volume de données, pour SWT, il doivent être copiés dans ces composants natifs, alors qu’en SWING ils sont utilisés directement, ce qui offre à SWING une meilleure performance.

Pour mon stage, le but était de créer un Plugin Eclipse, et d’utiliser les différentes vues de l’IDE pour interagir avec l’utilisateur. Et vu que la libraire graphique SWT fait partie d’Eclipse RCP, notre choix s’est ramené à cette dernière.

facebooktwittergoogle_plusmail
Posté dans : JAVA

Laisser un commentaire