Interfaces Graphiques

Le problème de la communication entre un programme et son utilisateur doit être abordé avec précaution de façon à ne pas compromettre la modularité et la réutilisabilité du code.
La difficulté technique supplémentaire qu'entraîne l'utilisation d'une boîte à outils pour la réalisation d'une interface graphique ne doit pas faire perdre de vue au programmeur certaines règles élémentaires d'écriture de programme. C'est généralement dans le code des interfaces que l'on trouve le plus de duplication par exemple.
L'utilisation d'un générateur d'interface est souvent souhaitable. Parmi les critères de choix d'un tel outil, il convient de faire attention à la possibilité de modifier le code indépendemment de l'outil. Pour cela, le code généré doit être lisible et rester utilisable par l'outil après une modification extérieure (respectant toutefois certaines contraintes). L'autre critère important est l'intégration par l'outil des aspects dynamiques d'une interface.

Les boîtes à outils (Toolbox) graphiques sont nombreuses. On peut retrouver dans toutes les fonctionnalités suivantes :

Les éléments graphiques qui composent une interface sont organisés en arborescences.  Les fenêtres aux sommets des arborescences sont appelés des "top-level". Ce sont elles qui sont gérées par le bureau (déplacement, iconification, fermeture ...). Un paramètre important d'une fenêtre "top-level" est son caractère bloquant (modal). Une fenêtre bloquante empêchera toute intervention sur une autre fenêtre de l'application tant qu'elle n'est pas fermée.