Vorlesung Grafische Benutzeroberflächen im SS 2018
Solide Kenntnisse der objektorientierten Programmierung in Java
Die Studierenden erlernen die ergonomische Gestaltung, den Entwurf und die Programmierung grafischer Oberflächen. Sie können eine Oberfläche so gestalten, dass ein Benutzer damit effektiv und effizient arbeiten kann. Sie können Desktop-Technologien wie JavaFX sachgerecht anwenden. Die Studierenden verstehen die zugrundeliegenden Architekturkonzepte und können diese Technologien einordnen und bewerten. Weiter erhalten sie einen tiefen Einblick in die Grundlagen der Software-Architektur von Systemen mit graphischen Oberflächen.
Darüberhinaus erlangen die Studierenden einen Einblick in die Entwicklung von modernen Weboberflächen und transferieren die zuvor gewonnen theoretischen Erkenntnisse in dieses Umfeld.
Die Veranstaltung hat drei Schwerpunkte:
- Entwurf und Architektur von Anwendungen mit grafischer Benutzeroberfläche
- Überblick über aktuelle Technologien, Werkzeuge und Methoden für den Bau von Anwendungen mit umfangreichen Anforderungen an die Bedienbarkeit und Interaktion
- Praktisches Anwenden der erlernten Techniken im Rahmen von Übungen
Der größte Teil der Veranstaltung verwendet JavaFX. Der Schwerpunkt liegt nicht im Erlernen der eher zufälligen JavaFX-APIs, sondern in der Vermittlung der grundsätzlichen Ideen und Entwurfsmuster. Besonderes Gewicht liegt auf Standardfragen der täglichen Praxis (z.B. der Gestaltung von Dialogen, Data-Binding, Nebenläufigkeit und Anwendungsarchitektur). Neben JavaFX werden weitere moderne Technologie wie beispielweise HTML5/JS betrachtet. Begleitend zur Vorlesung finden Übungen zur Vertiefung der erlernten Konzepte statt.
Ziel der Übung ist es für die folgenden Übungen Arbeitsfähigkeit herzustellen. Nachdem in den letzten Jahren die Heterogenität der Arbeitsgeräte (Studentenlaptops und Rechner im Labor) stark zugenommen hat, soll diese Übung sicherstellen, dass jeder Student Zugriff auf Entwicklungsumgebung und Musterlösungen hat.
Ziel der Übung ist es ein typisches Eingabeformular in FXML zu erstellen. Wir benutzen dazu das Werkzeug SceneBuilder.
Ziel der Übung ist es die Oberfläche aus Übung 2 mit Funktionalität zu versehen.
- Online Dokumentation und Tutorials zu JavaFX (2015) http://docs.oracle.com/javase/8/javase-clienttechnologies.htm
Empfohlen
- James L. Weaver: Pro JavaFX 2: A Definitive Guide to Rich Clients with Java Technology
- Carl Dea: JavaFX 2.0: Introduction by Example
Zusätzlich empfohlen
- Jenifer Tidwell: Designing Interfaces
- Johannes Siedersleben: Moderne Software-Architektur
- Robert C. Martin: Clean Code