Diskussion:Extensible Application Markup Language
Verwirrung
Um Vista und WinFX scheints ein paar Verwirrungen zu geben. So wie ich es verstehe, ist WinFX und damit wohl auch XAML nicht Bestandteil der letzten Vista-Builds.
siehe [1]
Axel
Ich weiß, es gibt momentan einige Verwirrung, was XAML eigentlich ist. Don Box und Chris Anderson haben in ihrem ersten Video zu XAML auf MSDN TV vermutlich den Eindruck erweckt, dass es dazu da ist, Controls, Styles und TransformDecorators zu definieren. Das ist auch völlig richtig, das scheint die Intention gewesen zu sein. Programmiersprachen wie C# sind sehr, sehr ausschweifend. Schon kleine Dialoge füllen schnell 100 Zeilen mit Deklarationen. Außerdem gibt es mit XAML-Pad einen Editor, der GUIs anzeigt, wenn die entsprechende XAML-Datei keinen eingebetteten Code enthält und nur Avalonklassen enthält.
Aber eigentlich ist XAML eine deklarative Programmiersprache für .NET, die ganz normal in MSIL-Code übersetzt wird. Imperative Codeblöcke können integriert werden, aber man kann auch, dank des partial-Schlüsselwortes, XAML-Code mit anderem Code mischen. (Auf die Weise könnte man auch Basic und C# mischen. Alles landet in MSIL, es ist also nicht wichtig, woher es kommt.)
Das wird besonders gut deutlich im zweiten Video von Don Box und Chris Anderson, in dem die Logik für eine Consolenapplikation in XAML und das Objektmodell in C# implementiert ist.
Vielleicht sollte man einfach klarstellen, dass z. B. das Canvas-Tag kein Teil von XAML ist, sondern eine .NET-Klasse, die man mit XAML instantiieren kann. Der Compiler muss hierfür wissen, welchen Namespace er gerade benutzt, genau wie in C#! Also nochmal in aller Deutlichkeit: xmlns in XAML entspricht using in C# oder anderen .NET-Sprachen.
Der WPF-Teil von XAML sollte wohl besser zum größten Teil in den WPF-Artikel. Dort wird noch nichtmal erwähnt, dass WPF vektorbasiert ist. Erwähnenswert ist außerdem noch das Programm Microsoft Interactive Expression Designer (kostenloser Download der Januar 06 CTP verfügbar), da es eine neue qualitative Stufe im Erstellungsprozess von GUIs darstellt. Zukünftig soll ein Designer die GUI erstellen können, während der Programmierer die Logik dazu schreibt. Expression Designer wird vermutlich ein großer Schritt in diese Richtung werden, auch wenn die Beta noch ziemlicher Schrott ist.
Sascha Baumgart, 26. Jan 2006
Verwechslungsgefahr zu MyXAML
Mir fiel gerade noch der Punkt Open-Source-XAML auf. Dabei handelt es sich um Parser für XAML-ähnliche XML-Sprachen.
MyXAML entstand aus der Unzufriedenheit des Autors mit der Syntax von XAML. Ihm gefiel z. B. nicht, dass Tag sowohl für Klassen als auch Methoden stehen können.
MycroXAML wurde von MyXAML inspiriert, ist aber sehr viel leichtgewichtiger (etwa 300 Zeilen).
Im Artikel sollte also erwähnt werden, dass es sich bei MyXAML und MycroXAML nicht um Microsoft-kompatibles XAML handelt, sondern um weitere deklarative Sprachen plus Parser für .NET.
Sascha Baumgart, 26. Jan 2006
Ein sehr langer Kommentar, hoffentlich kriege ich alles zusammen was Du geschrieben hast:
- WPF Teil entfernen: XAML wird von WPF verwendet - das steht meiner Meinung nach in dem Artikel und nicht mehr. Desweiteren bin ich in diesem gar nicht so weit in die WPF eingestiegen, sondern habe nur erklärt, dass es damit zusammen hängt. Bitte führe die entsprechenden Teile doch hier auf die Du entfernen wollen würdest.
- Canvas: die Beispiele habe ich aus dem msdn geholt, die Anmerkung, dass Canvas ein Namespace von .net dürfte aber nicht schaden.
- XAML eine Deklarative Programmiersprache: habe ich reingeschrieben, ich verstehe Deinen Punkt nicht ganz genau...
- OpenXAML: Diese neuen Informationen würde ich einfügen, sie waren mir zu dem damaligen Zeitpunkt nicht bekannt.
Markkaczkowski 13:16, 26. Jan 2006 (CET)
Okay, ich habe vielleicht ein bisschen viel rumgeeiert, daher jetzt konkret:
- Raus: "XAML (Aussprache: [za:mɛl], Abkürzung für eXtensible Application Markup Language) ist die XML basierte Sprache zum Beschreiben und Erstellen von Oberflächen der Windows Presentation Foundation"
- Rein: "XAML ist eine XML basierte Sprache zur deklarativen Programmierung von .NET-Applikationen. Vorteile gegenüber anderen .NET-Sprachen hat XAML unter anderem bei der Deklaration und Instatiierung von graphischen Oberflächen. XAML ist aber keine domänenspezifische Sprache [2], sondern ist genauso mächtig wie C# oder Visual Basic .NET"
- Daraus ergibt sich aber ein etwas anderer Aufbau des Artikels, da der WPF-Teil jetzt zu einem speziellen Anwendungsfall wird. Hier wäre ein anderer Fall[3].
- Man sollte noch erwähnen, dass XAML und WPF momentan im Betastadium sind und bisher nur einige Betaversionen (CTP, Community Technology Preview) und einige Demovideos veröffentlicht wurden.
Umschreiben von Artikeln dauert immer ziemlich lange, und ich denke, dass der XAML-Artikel das gut vertragen könnte. Ich hab gerade schon einen Artikel zu Folk Black Metal geschrieben, daher habe ich gerade nicht so recht Lust auf XAML. Also bitte meine Anmerkungen nur als ... Anmerkungen verstehen.
Sascha Baumgart, 26. Jan 2006 (CET)
Die Vorschläge finde ich nicht schlecht. Ich werde mich der Sache mal annehmen. Wenn Du nachher noch einen Kommentar dazu abgeben könntest, wäre ich Dir dankbar. Markkaczkowski 15:59, 26. Jan 2006 (CET)
Microsoft-Werbung
Wie konnte es eigentlich passieren, dass diese unerträgliche Microsoft-Werbung „Zusammenfassung und Ausblick“ (speziell die ersten beiden Sätze „Mit XAML scheint Microsoft ein großer Wurf zu gelingen. Die Möglichkeit, einfach und bequem kleinere Desktopanwendungen zu schreiben, die zudem komfortabel übertragen werden können, sucht in der Softwarewelt ihresgleichen.“) ein halbes Jahr in diesem Artikel sein konnte, ohne dass der Artikel einen Non-NPOV-Vermerk bekommt. Bevor hier so ein Marketing-Gebrabbel steht, steht da lieber gar nichts.
Ach und übrigens: Man sollte auch auf der Diskussionsseite Überschriften setzen. Sonst wird das alles im Laufe der Zeit unübersichtlich. Ich hab nachträglich mal ein paar Überschriften eingefügt. --KAMiKAZOW 16:22, 21. Mär 2006 (CET)