AWT, Swing, SWT ? Que choisir ?

Entre AWT et Swing, lequel doit-on utiliser pour créer une interface graphique ? En existe t?il d'autre ? Quel sont leurs avantages et défauts ?

Dans les premières versions de Java, les API graphiques étaient rangées sous le nom d'AWT (Abstract Windowing Toolkit). Bien que portable, celle-ci était assez lourde pour le système. Sun a donc ajouté une couche à AWT nommée Swing, plus légère, plus compatible.
Mais bien que AWT et Swing soient les API officielle de Sun, il existe aussi SWT et plus récemment JFace.

Bien que AWT ou Swing soient le plus souvent utilisés, étant fournis en standard, ils ont tout les deux leur avantages et inconvénients :
  • AWT, plus ancien, est mieux reconnu par les différentes plateforme. Beaucoup d'outils sont de plus disponibles. Swing est plus récent, mais plus optimisé, et donc plus rapide, mais des outils Swing fiables ne sont apparu que récemment.
  • Passer d'AWT à Swing, pour augmenter la rapidité de votre application est parfois très simple, tant leur syntaxe se ressemble.
  • Swing prend en compte plus de widgets (éléments graphiques prédéfinis).
  • AWT, contrairement à Swing, est intégré à J2ME et est bien reconnu au sien d'application de téléphonie mobile.
  • Swing est amélioré à chaque nouvelle version de Java.
Face à ces deux géants que sont AWT et Swing, on trouve, comme cité précédemment, SWT et JFace. Développés par l'équipe d'Eclipse pour leurs propres besoins, ils ont été mis à disposition de la communauté, et sont accessible grâce au SDK d'Eclipse
SWT a été développé dans le but d'être plus léger et plus optimiser qu'AWT ou Swing, tout en fournissant un grand nombre de widgets. Dans ce souci d'optimisation, ce framework est capable d'utiliser des éléments natifs au système, tout en restant indépendant.
JFace, quant à lui, est une sorte de boite à outils SWT permettant au développeur de simplifier les tâches graphiques.

Au final, chacune de ces API a ses avantages et inconvénients. Il faudra donc définir les besoins de l?application pour pouvoir sélectionner la plus appropriée.

Voir le cours associé :

Pr�c�dents
JavaJRE, JDK, SDK,... ? Quelle est la différence ?2/9/05
JavaComment exécuter un fichier JAR ?2/7/05
JavaErreur J2EE -Tomcat : « Couldn't find MainClass »2/4/05
JavaErreur J2EE - Tomcat : « Cannot find javac compiler »2/1/05
JavaErreur JDBC : « Erreur de chargement du pilote JDBC... »1/28/05

 
Suivants
JavaJRE, JDK, SDK,... ? Quelle est la différence ?2/9/05
JavaOù peut t'on trouver les anciennes versions des SDK J2SE, J2EE ou autres outils Java ?6/17/05
SunExiste t'il un moyen de créer une interface graphique en faisant du drag and drop sous eclipse?6/17/05
JavaQu'est ce que J2SE(Java 2 Platform Standart Edition)?1/20/06
JavaQu'est ce que J2EE(Java 2 Platform Enterprise Edition)?1/20/06




Retrouvez ci-dessous les autres sections du Laboratoire Sun
Actualités
SunSun Microsystems en forme !8/4/08
SunOpenDS un ldap 100% java7/24/08
SunSun et Fujitsu annoncent un nouveau Sparc647/16/08
SunVisualVM, un outil de surveillance des applications Java7/10/08
SunSun, Microsoft et Cisco contre le DNS Cache Poisoning7/9/08

Articles
Eclipse Europa : le successeur de Callisto
Après Eclipse Callisto (Eclipse 3.2), la fondation Eclipse sort la nouvelle mouture d'Eclipse appelée Europa (Eclipse 3.3) faisant ainsi passer le nombre de projets embarqués de 10 à 21. Que ceux qui sont réticents aux « distributions » d'Eclipse se rassu12/21/07
JavaCruiseControl : l’outil d’intégration continue à avoir dans sa boite à outils
CruiseControl est un projet open-source offrant de multiples fonctionnalités pour l’intégration, que ce soit pour des développements Java ou .Net. Il est courant sur un projet d’être plusieurs développeurs avec des tâches de développement réparties. Dans7/2/07
JavaEJB3 - Des concepts à l'écriture du code - Editions DUNOD
Consulter le résumé du premier ouvrage du laboratoire Sun de SUPINFO : EJB3 - Des concepts à l'écriture du code. Guide du développeur, éditions DUNOD.5/27/07
JavaPassage de certification Java Web (SCWCD)
Passer une certification est toujours un moment important car cela permet de mieux faire reconnaître ses compétences face à un recruteur ou un employeur.5/12/07
JavaGoogle Web Toolkit
Google Web Toolkit est un framework java pour générer du javascript et des requêtes Ajax à partir d’un code java. Voilà comment il fonctionne.5/10/07
JavaJ2ME Vs SDE
Demain, les terminaux « légers » seront plus nombreux que les ordinateurs personnels, ce qui entraîne une bataille sur le choix d’une plateforme identique à tous ces terminaux… Aujourd’hui nous retrouvons le J2ME ainsi que le SDE qui s’offrent une rude b4/22/07

Tips du laboratoire
EclipseVisual Editor avec Eclipse Europa, c'est possible3/28/08
EclipseGérer les projets dans un workspace.10/16/07
JavaManager votre server d'application avec Eclipse4/21/07
JavaVue des sub-packages avec Eclipse4/21/07
JavaGlisser-déposer avec Eclipse4/21/07

Laboratoire SUPINFO des technologies Sun
labo-sun@supinfo.com


Conditions d'utilisation et © Copyright SUPINFO International University
23, rue de Château Landon - 75010 PARIS - Tél : +33 (0) 153359700 Fax : +33 (0) 153359701
Respect de la vie privée