November 09, 2003
Apart from the discussion on whether or not XAML is evil, there is the other question of what the point is exactly and there's a good thread on that on Intertwingly.
It seems the basic conclusion is that it is a format for specifying (i.e. serializing) CLR composites. Allowing for class definition, property setting, object instantiation and event registration (but 'event' is a datatype, so that's just special property setting) this is about as flexible as you would like. It's not new - it's just new for .NET.
On reading Don Box' "Hello World" sample in XAML it seems that this generalized perception of XAML as an XML language for CLR composites also is a good starting point for sneaking intentional programming into .NET. Through the structure of XML one gets for free the ability to mix new meanings into the source code format and/or compositing the source from a repository of fragments.
The only sad thing is the gunkiness of Box' example. It's even worse than the generic Java "Hello World". Code in this format will not be generally consumabe as text - only through some rich development environment.
Posted by Claus at November 09, 2003 03:00 AM
We obviously have some clean up to do on XAML before beta 1.
The goal is very much to allow people who like working in XML to do XAML "by hand."
A lot of the cruftiness of my example was due to (a) some makefile deficiencies in the pre-beta SDK, (b) some XML goo in XAML that needs to be cleaned up and (most importantly) (c) the fact that Hello, World is a bad candidate for XAML-ification.
That stated, very few people seem to like authoring in XML no matter how simple it is, so alas, most folks will likely use their IDE of choice.
The example underlines that "XAML is just an XML resource format" - and the embedded C# code underlines the fact that there is no nice interconnect between the resource format and the source format. One looks ugly expressed in the other and vice versa.
So far so good. For this to be truly interesting, and not just another resource format, development tools will need to leverage the XML structure for better compositionality and new expressive ability (e.g. the IDE using another vocabulary than XAML embedding more developer intent directly into the source)
Unless we were to abandon XAML by release time (highly unlikely), it's hard to imagine tools that target longhorn NOT doing a good job massaging XAML.