XML-basierte Beschreibungssprachen für grafische Benutzerschnittstellen Seminarvortrag im Studiengang „Scientific Programming“ von Steffen Richter
Agenda Grundlagen Motivation Die Basis XML Beschreibungssprachen XAML XUL XWT Vor- / Nachteile von XML als Basis Vorteile Nachteile Fazit Zusammenfassung Wertung
Grundlagen
Motivation Informationstechnologie mit Benutzerinteraktion im Alltag stark verbreitet Bedeutung von GUIs nimmt zu Grundlagen Beschreibungssprachen Vor- / NachteileFazit
Grundlagen Beschreibungssprachen Vor- / NachteileFazit
Grundlagen Beschreibungssprachen Vor- / NachteileFazit
Programmierstil Imperativer Code: Chronologischer Ablauf von Befehlen, die den Weg beschreiben, wie der Endzustand einer Oberfläche erreicht werden soll Deklarativer Code: Beschreibung des Endzustands der Oberfläche; der Weg, wie dieser erreicht wird, ist unbekannt Grundlagen Beschreibungssprachen Vor- / NachteileFazit
Grundlagen Beschreibungssprachen Vor- / NachteileFazit
Folgen Steigerung der Komplexität von Oberflächen Anzahl der Medienplattformen steigt Vereinfachung der Oberflächenentwicklung durch Werkzeuge wie GUI-Designer-Tools - Tools erzeugen imperativen Code - Deklarativer Code ist von Vorteil Grundlagen Beschreibungssprachen Vor- / NachteileFazit
Beispiel Maske aus bestehendem Produkt VIM der SOPTIM AG Grundlagen Beschreibungssprachen Vor- / NachteileFazit
Oberfläche als Baum Grundlagen Beschreibungssprachen Vor- / NachteileFazit
Beschreibungssprachen
XAML Von Microsoft entwickelt Auf.NET/WPF basierend Integration in Visual Studio ab Version 2008 Anbindung an Designer über „Expression Blend“ Projekt „eFace“ XAML in JAVA Grundlagen Beschreibungssprachen Vor- / NachteileFazit
XUL Von Mozilla entwickelt Entwicklung von RIA („Rich Internet Application“) im „Firefox“- Browser Anzeige im Browser oder als Fenster über „XULRunner“ XUL Anwendung aus drei Dateien:.xul:Beschreibung der Oberfläche.js:JavaScript-Datei für Dynamik in der Oberfläche.css:Modifizieren des Erscheinungsbild der Oberfläche Grundlagen Beschreibungssprachen Vor- / NachteileFazit
XWT Ursprünglich von Soyatec entwickelt In Eclipse IDE ab Version 3.7 integriert Basisframework ist SWT JAVA Antwort auf XAML Grundlagen Beschreibungssprachen Vor- / NachteileFazit
Grundlagen Beschreibungssprachen Vor- / NachteileFazit
Vor- / Nachteile von XML als Basis für Beschreibungssprachen
Vorteile XML ist bereits ein Standard Operationen mit XML (Transformation, Validierung, etc.) Baumartiger Aufbau von XML Auch für Designer verständlich und änderbar Trennung von Oberflächencode und Programmlogik Portierbarkeit GrundlagenBeschreibungssprachen Vor- / Nachteile Fazit
Nachteile Performance schlechter als bei vergleichbaren imperativen Oberflächen (heutzutage nur bei komplexen Komponenten) Sehr viele Dialekte „Qual der Wahl“ Komponentenvielfalt weniger Auswahl GrundlagenBeschreibungssprachen Vor- / Nachteile Fazit
Zusammenfassung Bedeutung von GUIs wächst Verbesserung der Oberflächenentwicklung durch Designer XML gut geeignet Viele verschiedene Sprachdialekte Portierbarkeit GrundlagenBeschreibungssprachen Vor- / Nachteile Fazit
Wertung Wann lohnt sich der Einsatz von Beschreibungssprachen? wenn kein zeitkritisches GUI benötigt wird Einsatz von Standardkomponenten Warum macht es Sinn Beschreibungssprachen zu verwenden? Schnittstelle Designer Entwickler Trennung von Oberflächencode und Programmierlogik Was spricht dagegen? Nicht alle Komponenten sind verfügbar Performance GrundlagenBeschreibungssprachen Vor- / Nachteile Fazit
Vielen Dank für Ihre Aufmerksamkeit!
Haben Sie noch Fragen?
Quellen Mozilla: XUL, Online Dokumentation, O’Reilly: XAML in a Nutshell. Buch, q=xaml+in+a+nutshell&hl=de&ei=7kMHTYHUKsXOswazyaWNDg&sa=X &oi=book_result&ct=result&resnum=1&ved=0CDAQ6AEwAA#v=onepag e&q&f=false q=xaml+in+a+nutshell&hl=de&ei=7kMHTYHUKsXOswazyaWNDg&sa=X &oi=book_result&ct=result&resnum=1&ved=0CDAQ6AEwAA#v=onepag e&q&f=false Yves Yang: XWT – Declarative UI designed for Eclipse, Blog, designed-for-eclipse/ designed-for-eclipse/ MSDN: Übersicht über XAML (WPF), Online Dokumentation, W3C: XML in 10 points. Artikel,