Neil's Place

October 27, 2003

6:38 PM Some XAML comments

OK, I took a quick look at XAML to see how it compares to XUL, or anything.

  • It is indeed a XUL-like language for describing user interfaces. Why didn't they just use XUL? Well, you wouldn't expect MS to use something someone else created would you?
  • XAML might be only a codename. Sometimes, the documentation says it's a codename, and XAML always appears in quotes.
  • Only XAML files that don't have code can be displayed directly in IE. I'm not sure why you would have a non-code application. If your application contains code, it must be compiled into an executable. If I'm reading that right, it means that you can't do remote XAML. However, there is this Click-Once thing which appears to work exactly like Mozilla's XPInstall, by allowing one to install an application with one click. You still have to compile and set up all these deployment information, much like how XPInstall uses install.js scripts and RDF manifest files. There is a reference to 'application/xaml+xml' though, (Where's the x- or vnd.? Hello? Microsoft? Standards?) which I think is for non-code apps. It also means you need a compiler to develop with, conveneniently sold by Microsoft. XAML does not support interpreted languages like JavaScript (or JScript).
  • You can run compiled code in a standalone window or in a browser, but you can't do both. Switching requires recompiling.
  • Each 'XAML' tag corresponds to a Class. Attributes on the tags correspond to the fields (properties) of the class. For example, a Button class can be specified with <Button Width="100" FontSize="10">
  • There is no CSS used -- instead specific attributes are used. There is something confusingly called Styles, which appear to be more like CSS classes for sharing appearance with a number of elements. This Styles feature does seem to have the capability to adjust the appearance of inner content, for example the thumbs and slider part of a scrollbar can be adjusted with a block of XML. In fact, some of the examples suggest that the Style features might have some XBL-like content capability, although it looked more confusing.
  • There's a databinding feature, kind of like the one IE already has which can bind to XML, SQL and so forth. In XUL, this is done with templates and RDF. In XAML, the data to bind to are even called data sources.
  • There's something which falls into the category of 'Yet another XML vector language which isn't SVG.' It does look very similar though, but my cursory glance and limited knowledge of SVG suggest that it isn't the same. It is called Windows Vector Graphics though. Yes, this is exactly what the world needs. More similar but different vector graphics languages.
  • As far as I can tell, there's no XBL or overlays or anything similar. Custom components can be created in native code (C# or whatever). So, there's isn't anything as cool as Firebird Extensions.
  • The documentation is, like most of the stuff on MSDN, difficult to navigate through. Most of it is vague and more of a reference. There is only a few pages that actually explain how to do something. Because of this, there may be something I'm missing. There may be more interesting features that I missed, but I don't think XAML itself is necessarily all that powerful. In fact, it's really just a mapping between classes and XML.

There's a general overview here.

Comments ( 10 )


5:21 PM XAML Info now available

XAML info is now available. I haven't looked at it yet, but it's rumoured to be similar to XUL. More comments to come soon.

Comments ( 0 )


1:09 PM XUL-related quotes from Hixie

Ian Hickson has some interesting quotes from a recent XUL naming debate between him and, if you've been following XUL, you should know who else.

We stopped working on the XUL spec itself when XUL Planet started documenting XUL in more detail than we had time to do ourselves.

and:

Most of the current XUL work is being done within standards organisations with strict NDA policies. If you are a ISO, W3C, ECMA, or IETF member let me know and I can show you the relevant links... I'm under NDA from one of the above groups, in which XUL is being discussed.

and even:

XUL _is_ in active development, we are currently taking feedback into account and are more carefully defining the XUL box model.

All quotes from here.

Comments ( 24 )