Was ist XAML eigentlich? Wofür ist es gut? Und woher kommt es? Diese und andere Fragen sollen in diesem Blogeintrag beantwortet werden und ist somit der nächste Beitrag zur Reihe rund um WPF.
Klären wir erst mal das einfachste:
Wofür steht XAML eigentlich?
XAML steht für eXtensible Application Markup Language und ist eine von Microsoft entwickelte deklarative Markupsprache für die Oberflächengestaltung von Anwendungen. XAML ist dabei eine XML-basierte Sprache, die verwendet werden kann, um Benutzeroberflächen, Verhaltensweisen, Animationen, Transformationen, Darstellung von Farbverläufen, Abspielen von Mediadateien und vieles mehr zu definieren.
Die Geschichte von XAML?
Das erst mal wurde XAML mit der Veröffentlichung von .NET 3.0 und WPF in .NET integriert . WPF sollte WinForms nach und nach als Standard ablösen. Zunächst war es ein Rückschritt. Unter WinForms gab es im Visual Studio einen Editor mit dem man gute und funktionale Oberflächen relativ einfach erstellen konnte. Mit WPF sollte alles besser und schöner werden. Die Knöpfe sollten rund werden usw.. Aber in der ersten CTP für Visual Studio gab es noch keinen Editor und der XAML-Code musste noch komplett von Hand geschrieben werden. Auch ohne die Unterstützung von IntelliSense. Es hat nicht wirklich viel Spaß gemacht, vor allem weil man sich bei vielen Dingen umgewöhnen musste
. Einfaches Beispiel: Unter WinForms war man gewohnt die Texte von Textboxen, Labels usw. auch unter der Eigenschaft Text setzen bzw. abfragen zu können. Unter WPF wurde das geändert. Ein Button oder ein Label hatten jetzt eine Content Eigenschaft, wohingegen die Textbox weiterhin die Text-Eigenschaft hatte. Das war am Anfang ohne IntelliSense alles ein wenig schwierig, vor allem da die Dokumentation natürlich zur CTP Zeit noch nicht wirklich ausführlich war.
Wofür kann XAML alles eingesetzt werden?
Die meisten Leute denken an WPF oder auch Silverlight wenn sie XAML hören. Aber das sind nicht die einzigen Einsatzgebiete von XAML. Mit XAML lassen sich auch Workflows der Windows Workflow Foundation definieren. Das Beispiel unten zeigt den Editor im Visual Studio für eine If Activity und darunter den dazugehörigen XAML-Code.
Ein weiteres Beispiel für die Verwendung von XAML ist der Buildserver. Die Buildprozesstemplates im Team Foundation Server sprich der Team Build basiert auf der Workflow Foundation und somit auch auf XAML. Das Bild unten zeigt einen Team Build.
Nächstes Beispiel: XAML in Lightswitch! Die Anwendungen die mit Lightswitch zusammengebaut werden, werden als Xaml-Datei gespeichert.
Selbst in der Java Welt wird XAML bereits eingesetzt. Oberfläche in Java können in Eclipse unter anderem auch mit Xaml definiert werden.
Bildquelle: http://www.soyatec.com/eface/video/Sample1.html
Weitere Anwendungsfälle
• Visual Studio 2010
Fenster Layout Einstellungen
C++ Build Properties
• Verschiedene Anwendungen
Speichern von Konfigurationsinformationen
• WCF
Wie man also sieht ist XAML mehr als eine Oberflächensprachen zum schönen Gestalten von UIs. Es wird in vielen Bereichen rund um die Entwicklung von Anwendungen eingesetzt und die Einsatzmöglichkeiten werden sicherlich noch mehr werden in Zukunft. Ein Beispiel könnte Jupiter sein, um das sich im Moment noch viele Gerüchte drehen. Jupiter wird vermutlich ein Framework sein, welches unter Windows 8 zur Interaktion mit der neuen Benutzeroberfläche enthalten ist.
Ist XAML eine geniale Idee von Microsoft?
Wenn man sich fragt ob Microsoft mit XAML eine geniale Idee hatte, da es so vielseitig verwendet wird, muss man leider sagen, dass die Idee einer deklarative Markupsprache die auf XML basiert nicht ganz neu ist. Andere Firmen hatte vorher schon die Idee XML für ihre Zwecke anzupassen. XUL ist eine solche Sprache die es bereits vor XAML gab und steht für XML User Interface Language und ist ebenfalls eine auf XML basierende Beschreibungssprache für grafische Benutzeroberflächen. Sie wurde ursprünglich für das Mozilla-Projekt entwickelt, wird aber inzwischen auch von anderer Software genutzt.In Mozilla-Anwendungen wie Firefox, Thunderbird, Seamonkey oder Netscape wird die gesamte Benutzeroberfläche aus XUL-Dateien erzeugt (Quelle Wikipedia).
Was unterscheidet XAML von XML und anderen Markupsprachen.
Was hingegen neu im Vergleich zu XUL oder den ähnlichen Markupsprachen ist, das XAML nicht nur als Oberflächen-Sprache eingesetzt ist, sondern für viele weitere Bereiche verwendet wird. XAML…ein Mädchen für alles ![]()
XML ist eine allgemeine Markupsprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten. XUL ist eine Markupsprache speziell für die Gestaltung von Oberflächen. XAML ist dagegen speziell angepasst für Objektgraphen.







