16
XUL - XML User Interface Language“ „eXtensible Userinterface Language“ XML im Mozilla Projekt Gruppe 4 WS 2005/06 VU Semistrukturierte Daten 1 181.135

WS 2005/06 VU Semistrukturierte Daten 1 181.135

  • Upload
    yetta

  • View
    17

  • Download
    0

Embed Size (px)

DESCRIPTION

XUL - „ X ML U ser Interface L anguage“ „e X tensible U serinterface L anguage“ XML im Mozilla Projekt Gruppe 4. WS 2005/06 VU Semistrukturierte Daten 1 181.135. Agenda. Was ist XUL? Anwendung von XUL Weitere Informationen über XUL Beispiele…. Ausblick. Was ist XUL?. - PowerPoint PPT Presentation

Citation preview

Page 1: WS 2005/06 VU Semistrukturierte Daten 1 181.135

XUL-

„XML User Interface Language“

„eXtensible Userinterface Language“

XML im Mozilla Projekt

Gruppe 4

WS 2005/06

VU Semistrukturierte Daten 1181.135

Page 2: WS 2005/06 VU Semistrukturierte Daten 1 181.135

2

Agenda

• Was ist XUL?

• Anwendung von XUL

• Weitere Informationen über XUL

• Beispiele….

• Ausblick

Page 3: WS 2005/06 VU Semistrukturierte Daten 1 181.135

3

Was ist XUL?

• „eXtensible Userinterface Language“ oder auch „Xml Userinterface

Language“

• eine XML basierte Beschreibungssprache für die Implementation von

GUIs

• aus dem Mozilla-Projekt

• stark an (W3C-)Standards orientiert

• plattform-neutral, zumindest theoretisch denn für die jeweilige

Zielplattform muss der Mozilla-XUL-Toolkit dementsprechend portiert

werden

Page 4: WS 2005/06 VU Semistrukturierte Daten 1 181.135

4

Anwendung von XUL

• Mozilla und seine Geschwister

(Netscape, FireFox, ...)

• Als „Chrome“ und als „Content“ verwendbar.

Web-Applikationen

Client in Client-Server-Systemen

Stand-alone-Applikationen

(XRE: „XUL Runtime Environment“)

Page 5: WS 2005/06 VU Semistrukturierte Daten 1 181.135

5

Weitere Informationen über XUL

• XUL wird von allen Mozilla basierten Anwendungen unterstützt

• Im Grunde besteht eine Mozilla Anwendung (z.B. ein Browser) „nur“

aus einer Menge XUL-Dateien, JavaScripts und Style Sheets

• XUL ist case-sensitive (im Gegensatz zu z.B. HTML)

• Attribute (auch numerische Werte) müssen in Anführungszeichen

stehen (value=“5“ statt value=5)

Page 6: WS 2005/06 VU Semistrukturierte Daten 1 181.135

6

XUL enthält keine Programmlogik

• Ein XUL-Interface ist erstmal „nur“ eine Sammlung loser Widgets

ohne Funktionalitäten.

• Funktionalität kann z.B. durch JavaScript eingebracht werden.

• Komplexe Hochsprachen wie C++ können natürlich auch verwendet

werden, sind aber oft übertrieben.

• JavaScript kann im Quelltext der XUL-Datei eingebunden sein,

sollte aber zur besseren Übersicht ausgelagert werden:

<html:script language=“javascript“ src=“meinjavascript.js“ />

Page 7: WS 2005/06 VU Semistrukturierte Daten 1 181.135

7

Chrome

• Komponenten werden üblicherweise im Unterverzeichnis chrome

der Mozilla-Installation abgelegt.

• Chrome bezeichnet die UI-Teile des Anwendungsfensters ohne den

Inhaltsbereich, also

Toolbars

Menüleisten

Statusleisten usw.

• Für jede Komponente wird entweder eine Unterverzeichnis-Struktur

angelegt oder diese in eine .jar - Datei komprimiert.

Page 8: WS 2005/06 VU Semistrukturierte Daten 1 181.135

8

XUL – Basic Schema eines XUL-Dokuments

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

<window title="Meine XUL-Anwendung" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

<groupbox orient="horizontal"> <caption label="Meine erste XUL-Anwendung"/> <description> Das ist ein XUL-Dokument. Leider ist es noch nicht interaktiver als eine HTML-Seite. </description></groupbox></window>

Page 9: WS 2005/06 VU Semistrukturierte Daten 1 181.135

9

XUL – Beispiel

• XUL – Demo - Browser

• XUL – Demo Stand Alone z.B.: firefox -chrome file:///D:/Daten/Studium/WS2005/SemiStrukt1/XUL/bsp_basic/extended.xul

Page 10: WS 2005/06 VU Semistrukturierte Daten 1 181.135

10

XUL – Grundlegende Komponenten (XPFE - Framework)

• Struktur und Beschreibung von UI-Elementen mit XUL, XHTML, …

• Look & Feel: mittels CSS und Images

• Applikationslogik durch Skriptsprachen (z.B.: JavaScript)

• DTD‘s (und .properties-Dateien)

• zur Lokalisierung für verschiedene Sprachen

Page 11: WS 2005/06 VU Semistrukturierte Daten 1 181.135

11

Weitere Komponenten

XPInstall (Cross-Platform Installation)

XBL (eXtensible Binding Language)

• Zum Erstellen von wiederverwendbare Widgets aus bestehend aus XUL und JavaScript

XPCOM/XPConnect

• Interfac für den Zugriff von ScriptSprachen aus auf C und C++ Libraries

Resource Description Framework (RDF)

• „Manifest“ Dateien der XUL Applikationen • <RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:chrome="http://www.mozilla.org/rdf/chrome#">

XUL Templates

• Laden Daten aus einer Kombination von RDF und XUL in die Applikation

Page 12: WS 2005/06 VU Semistrukturierte Daten 1 181.135

12

Ausblick

• Zukunftstrend:

XUL UI Beschreibung in einer einzelner Datei ausliefern

package als root Element, statt window

main window durch parsen finden und starten

Package *package =

LoadPackage("http://xxx/package.xul");

InstantiateWindow(package, GetNodeWithID("main");

Page 13: WS 2005/06 VU Semistrukturierte Daten 1 181.135

13

Ausblick

• MDA

Emerging Technologies Toolkit – IBM‘s Compound XML Document Editor

• (XUL) Metamodell Plugin für Eclipse

Page 14: WS 2005/06 VU Semistrukturierte Daten 1 181.135

14

Ausblick

• Demo - Compound XML Document Editor

Page 15: WS 2005/06 VU Semistrukturierte Daten 1 181.135

15

Ausblick

• MDA - wünschenswert:

Graphischer Editor für das XUL Metamodell statt Baumstruktur

• zB in Kombination mit UML Metamodell

• Luxor: XUL-Implementation in Java

(Kompatibilität aber nicht angestrebt)