XAML und WPF – Microsofts neue Geheimwaffen
Hat XAML das Potenzial, über HTML, Flash und Ajax hinweg das Internet zu dominieren? Der proprietäre XML-Dialekt der Redmonder lässt Kritiker schlimmes befürchten.
“XAML ist sehr ähnlich strukturiert wie XML oder auch HTML”, erklärt Joe Marini, Programm Manager bei Microsoft, auf den Punkt. Er erläutert auch, warum es für die Anwender von Vorteil sein kann, eine XML-basierte und damit verhältnismäßig einfache Sprache zur Hand zu haben: Bislang musste ein Designer an einem Bildverarbeitungsprogramm eine Nutzerschnittstelle (UI) entwerfen, so Marini. Mit dieser Grafik sei der Designer an die Entwickler herangetreten, die daraus wieder eine Anwendung samt Frontend programmieren mussten. “Jetzt kann der Designer die gesamte Vektorgrafik selbst gestalten und gibt das UI an die Entwickler weiter, die dann nur noch die Logik mit der Oberfläche verbinden müssen.” Damit werde auch der Designer zu einem “Mitglied erster Klasse des Entwickler-Teams” und der Produktionsprozess bei der Anwendungsentwicklung beschleunige sich dadurch immens.
“Es gibt dabei keinen C#-Code oder Scriptdateien”, kommentiert Marini. Dadurch können auch Anwender, die bisher zum Beispiel mit HTML oder Flash gearbeitet haben, sich schnell im XAML-Code zurechtfinden. Mit Vista oder einer der nächsten Generationen von Visual Studio will Microsoft das Entwickler-Tool ‘Expression’ veröffentlichen, über das sich zum Beispiel interaktive Nutzerschnittstellen auf Basis von XAML erstellen lassen.
“XAML ist nur einer von mehreren Wegen, Objekte in WPF zu notieren”, erklärt Dirk Primbs, Technologieberater der Developer Platform & Strategy Group bei Microsoft. XAML sei eine so genannte domänenspezifische Sprache, also eine Sprache, die besonders gut auf eine bestimmte Aufgabe zugeschnitten ist. “Im Falle von XAML heißt dieser Anwendungsfall: ‘Dotnet-Objekte deklarativ initialisieren’.”
Technische Notwendigkeit oder strategische Inkompatibilität?
Was bedeutet das? Mit XAML lassen sich Instanzen von Klassen kombinieren. In Klassen sind Funktionen und Daten gekapselt. Ein Beispiel könnte die Klasse ‘Button’ sein. Die lässt sich mit XAML einfach aufrufen. Der Entwickler oder Designer muss lediglich Größe, Form und Farbe des Knopfes festlegen, und welche Funktion er auslösen soll, wenn er gedrückt wird.
Dabei sei XAML keine Notwendigkeit. “Es ist hauptsächlich deswegen so intensiv in Gebrauch, weil es Vorteile bei der Verwendung von spezialisierten Werkzeugen hat, ein XML-basiertes Datenaustauschformat zu haben”, ergänzt Primbs. So basiert XAML auf XML und jede XML-fähige Anwendung kann XAML-Code erzeugen. Anwendungen jedoch, die mit XAML geschrieben sind, laufen nur auf Rechnern, die Support für WinFX haben. Und das sind Maschinen mit Vista, oder über ein Update auch Rechner unter ‘XP’ oder ‘Server 2003’.
In vielen Bereichen deckt XAML Funktionen ab, die sich auch mit anderen Sprachen umsetzen lassen. Zum Beispiel CSS2 (Cascading Style Sheet), SVG (Scalable Vector Graphics), JavaScript oder XUL (XML User Interface Language), eine Entwicklung der Mozilla Foundation. Mit Ausnahme von XUL, die jedoch viele Spezifizierungen unterstützt, haben diese Sprachen bereits allesamt den Segen des Standardisierungsgremiums W3C (World Wide Web Consortium).
Offenbar steht aber für Microsoft Kompatibilität mit etablierten Standards nicht an erster Stelle. “Warum XAML nicht CSS2 nutzt, ist ein Mysterium” wundert sich zum Beispiel der Entwickler Nigel McFarlane. “Natürlich hat XAML auch ein umfassendes Tag-Set, auf das man zurückgreifen kann”, ergänzt McFarlane. Aber Microsoft hat offenbar andere Ziele.
Dunkle Schatten
Manchem Microsoft-Kritikern läuft es angesichts der ungeahnten Möglichkeiten kalt den Rücken hinunter. Eine der größten Bedrohungen für Linux und Open Source sieht Miguel de Icaza in der Kombination von XAML und der Grafik-Engine. Icaza ist Mitbegründer von Ximian, treibende Kraft hinter Gnome und Entwickler des Mono-Projektes, Novells Open-Source-Implementation von Microsofts Dotnet. “Der Grund ist, dass sie es so gestaltet haben, dass es im Grunde ein Ersatz für HTML ist”, so Icaza. Jeder könne damit über einen Text-Editor aufwendige Anwendungen gestalten.
“Es ist HTML der nächsten Generation”, ergänzt Icaza. Mehr Widgets, mehr Flexibilität und eine sehr viel reichhaltigere Nutzererfahrung. Man bekommt im Grunde die Erfahrung eines Clients mit einem Web-artigen Deployment”, so Icaza. Nachteil sei hingegen, dass die gesamte Interaktion auf Dotnet und WinFX beschränkt ist. Aber genau da liege die große Gefahr, erklärt die Open-Source-Ikone.
“Viele Leute können nicht auf Linux oder Mozilla migrieren, da ihre internen Webseiten Erweiterungen des Internet Explorers nutzen” erläutert Icaza. “Und jetzt stellen Sie sich bitte eine Welt vor, in der man nur noch XAML verwenden kann. Das ist massiv – da bekomme ich Angst.”