Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:lehre:programmierkonzepte:ws2013:07:material

Material

Zusätzliches Material zur Lektion.

Ereignisgetriebene Programmierung

Einführende Texte zu einigen der zentralen Aspekte und Begriffe ereignisgetriebener Programmierung:

Matlab-GUI-Elemente basieren letztlich auf Java Swing.

Swing ist nicht threadsicher. Hinweise sowohl zu Java Swing als auch zur „Event Dispatch Thread“ unter Matlab:

Zur Diskussion um Threadsicherheit vs. Ereignisgetrieben:

Bausteine graphischer Oberflächen

Eine relativ gute Übersicht über die einzelnen Bausteine (widgets, controls) graphischer Oberflächen bietet die Wikipedia:

Programmierprinzipien

Es gibt eine ganze Reihe an Programmierprinzipien, einen Teil davon aus dem sogenannten „Agile Software Development“. Hier eine Liste solcher Prinzipien ohne Anspruch auf Vollständigkeit:

Gestaltung graphischer Oberflächen

Es gibt (in Deutschland) offensichtlich nichts, das nicht geregelt ist. So gibt es „Grundsätze der Dialoggestaltung nach DIN EN ISO 9241-110“. Den Kommentar zur Norm hat Wolfgang Schneider verfasst, der auf seiner Seite weitere Informationen bereithält.

Die sieben Gestaltungsgrundsätze gemäss DIN EN ISO 9241 Teil 110:

  1. Aufgabenangemessenheit
  2. Selbstbeschreibungsfähigkeit
  3. Steuerbarkeit
  4. Erwartungskonformität
  5. Fehlertoleranz
  6. Individualisierbarkeit
  7. Lernförderlichkeit

Quelle: http://www.ergo-online.de/

Weitere Informationen:

Das Ganze firmiert auch unter dem Schlagwort Mensch-Computer-Interaktion (Human Computer Interaction, HCI).

Eine Vorstellung unterschiedlicher Konzepte für die GUI-Programmierung aus Sicht eines Programmierers stellt Martin Fowler, bekannt u.a. durch sein Buch über Refactoring1), auf seiner Webseite vor:

Eine schöne Illustration, was passieren kann, wenn zu viele Leute in die GUI-Entwicklung involviert sind, aber zu wenig miteinander reden, liefert die Illustration auf der folgenden Seite:

GUI-Bibliotheken

Matlab ist sicherlich nicht allgemein das Mittel der Wahl, um GUIs zu schreiben. Es hat sicherlich seine Berechtigung, GUIs in Matlab zu programmieren, wenn bereits eine recht große Code-Basis in Matlab vorliegt und die Zielgruppe entsprechend damit arbeitet.

Generell ist der Ansatz, eine frei verfügbare Programmiersprache und eine entsprechende GUI-Bibliothek zu verwenden, allerdings aufgrund der dadurch gewonnenen Unabhängigkeit von kommerziellen Produkten klar zu bevorzugen – auch wenn das einen zumindst anfänglich deutlich größeren Arbeitsaufwand bedeutet.

Eine Übersicht über GUI-Bibliotheken für diverse Programmiersprachen liefert die Wikipedia:

Zwei GUI-Bibliotheken seien hier hervorgehoben, die sich sowohl durch Plattformunabhängigkeit als auch durch ihren Einsatz in vielen Programmen, kommerziell und nicht-kommerziell, auszeichnen:

  • GTK+
  • wxWidgets

Natürlich könnte man auch noch das von KDE her bekannte Qt sowohl das im Kontext von Matlab relevante Java Swing erwähnen.

Zumindest was GTK+, wxWidgets und Qt angeht, gibt es für diese Bibliotheken Bindungen an eine Vielzahl an Programmiersprachen, so dass man nicht auf die der Bibliothek zugrundeliegende Programmiersprache für die Erstellung eigener Anwendungen angewiesen ist.

1)
Martin Fowler: Refactoring. Improving the design of existing code, Addison Wesley, Boston et al. 1999
de/lehre/programmierkonzepte/ws2013/07/material.txt · Zuletzt geändert: 2020/09/30 21:35 von 127.0.0.1