Browse DevX
Sign up for e-mail newsletters from DevX


A Standards-based Look at XAML's Features : Page 5

Microsoft's Longhorn will introduce XAML, an application development framework for Web and Windows apps. But just how different is XAML from the already-available public standards set by the W3C?




Building the Right Environment to Support AI, Machine Learning and Deep Learning

XAML's Unique Tags
Finally, XAML has a few miscellaneous tags that defy any large category. These tags expose unique features that make XAML stand out as a separate technology (see Table 5).

Table 5. Unique XAML tags.


Web equivalent

Tag use


JavaScript DOM 0 collection such as document.forms

Provide programmer access to sets of tags.


Mozilla's XBL system based on the CSS moz-binding extension.

Attach programmer logic or further GUI elements to a tag.



Hold a set of related tags.


The DOM 0 window.document object.

Represent the XML document.





CSS2 fixed sizing and positioning.

Override default layout for the page content.


CSS2 fixed sizing and positioning

Override default layout for sub-content of the page.

HorizontalSlider VerticalSlider

XForms range tag.

Provides a widget used to select a value from a range.



Embed a Win32 application in a tag.



Base class for lists and trees.


JavaScript's window.navigator object.

Provide context and control for moving within a multi-page application.



Control page display.



Print preview viewer for paged media.


Approximately a JavaScript window.modify()

Modifiable area within a document.


Similar to XUL deck or stack content.

Abstract base class.

In this table, the uses specified for given tags provide only broad hints as to their uses, but some of these miscellaneous tags are quite powerful and their implications go far beyond a simple one sentence description.

All of these tags can be mimicked using existing Web technology, or at least using various Mozilla XUL-specific techniques, except for the mighty HwndHost tag. That tag allows legacy Windows applications to run and display inside a XAML document. Such a feature on the Web requires a sophisticated mega-plugin or a guru-level ActiveX object to say the least.

It's the brevity and direct expression of these odds and ends that really delivers value in the XAML environment. The development time saved by taking a straight path using a single XAML tag is significant. Very few people want to build a GUI framework on top of HTML—that's both time consuming and potentially buggy. Nevertheless, it's been done several times. It's these tags that impress the most about XAML, and show its breadth. Mozilla's XUL could take a lesson or too from XAML about tag definitions missing from its XUL toolkit.

XAML Integration Advantages
A tag-by-tag comparison of XAML with other XML standards is just a beginning. For simple uses, and even for some intermediate ones, such a comparison might be all you need. For more complex uses, though, there's a lot more to the comparison of XML GUI dialects. In the bigger picture, Microsoft's Avalon display system integrates the XAML tags together far more tightly than any other XML display system so far. This is most obvious in the SVG-like two-dimensional effects that XAML can apply to XUL-like widgets and to XHTML-like content. Although Mozilla allows deep integration between SVG, CSS, XHTML, and XUL, it doesn't yet go as far as XAML in applying the processing tricks of one standard to all the tags of all the others. Then again, XAML's support for CSS, by comparison, is nonexistent. The unifying approach that CSS brings to various W3C standards is sorely missed in XAML by this writer. If XAML presented a substitute styling system that was as integrated as CSS, then XAML would be another matter—at least then we could have a proper technology shoot-out.

Examined superficially, XAML tags have many of the features of traditional Web standards like HTML, as well as those of newer Web approaches like Mozilla's XUL. Alas, it lacks proper CSS stylesheet support. Examined more deeply, however, XAML tags reuse, reinvent, and renew many standard idioms from the software development world in a highly integrated way.

Nigel McFarlane is a freelance science and technology writer, analyst and programmer. His most recent work is 'Rapid Application Development with Mozilla' published by Prentice Hall PTR. See his Web site at www.nigelmcfarlane.com.
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date