TassKaffGUI Design Language (GDL)


Es gibt standardisierte Beschreibungssprachen für die Definition von Datenbanken (DDL), Objektmodellen (UML) und CORBA-Schnittstellen (IDL).

Eine Beschreibungssprache für die grafische Bedienschnittstelle (Graphical User Interface = GUI) gibt es - als allseits anerkannten Standard - leider nicht.

Dies ist bedauerlich, denn auf der Basis einer solchen Beschreibungssprache lassen sich nicht nur Oberflächenklassen generieren. Das leisten herkömmliche GUI-Tools - mit anderen Mitteln - bereits seit vielen Jahren. Eine Beschreibungssprache eröffnet uns ganz andere Möglichkeiten:

Oberflächenspezifikationen, die in einer solchen Sprache formuliert sind, sind interpretierbar, d.h. sie sind ablauffähige Prototypen. Mit solchen Prototypen können wir in der Spezifikationsphase eines Softwareprojektes sehr anschaulich arbeiten. Solche Spezifikationen lassen sich aber auch elegant in die Laufzeitumgebung eines Zielsystems integrieren und verringern, weil sie nicht kompiliert werden müssen, den Anpassungs- und Wartungsaufwand in der Phase vor und nach der Inbetriebnahme erheblich.

Ich möchte hier eine solche Sprache - ich nenne sie GUI Design Language (GDL) - vorstellen. Sie ist reichhaltig genug, um Oberflächen nach in Industrie und Verwaltung üblichen GUI-Styleguides zu beschreiben. Skripte dieser Sprache, also GDL-Skripte, werden von meinem Java GuiBuilder auf der Basis des Java-GridBagLayouts interpretiert.

Mit dem hier realisierten kleinen Applet können Sprache und GuiBuilder getestet werden.Wer sich schrittweise mit beidem vertraut machen will, der lese zur Einführung der Reihe nach die Kapitel über Umfang und Syntax der Designsprache GDL, Bedienung des GuiBuilders und das Gridbag Layout.

Als nächstes wird dann eine nähere Beschäftigung mit Komponenten, Containern und Attributen interessant. Im linken Frame gibt es - neben Links zu allen Kapiteln dieser Bedienungsanleitung - einen Überblick über den Umfang der Sprache mit Links zum Vokabular der Sprache für jeden einzelnen Komponenten- und Container-Typ.


Version 0.9.7 (5.7.2003)

home