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

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?

by Nigel McFarlane

Apr 20, 2004

Page 3 of 5

XAML and XUL Windowing Features
You might wish that the lists stopped with Table 2, but alas, XAML has a heap of tags to consider.

Some features of XAML are designed for application windows, not for hypertext-laden multimedia documents. Such windows look like any Microsoft Windows or GNOME control panel or like any other forms-and-menu based application that you might find, whether it be WinZip or GnuCash. Such applications are also the problem domain that Mozilla's XUL addresses, so it's no surprise that in this area, a large number of XAML and XUL tags match up nicely. Table 3 shows these equivalences.

Table 3. XAML and XUL tag equivalents that describe extended widgets.

XAML Tag

XUL tag

Description

Application

Window

A whole application GUI expressed as XML

ContextMenu

Menupopup

floating menu that appears when context-clicking (right clicking
on Windows)

DesignSurface

canvas, deck, stack

An area used for arbitrary placement of content

DockPanel

Box

A layout device subject to vertical and horizonal alignment instructions.

EmbeddedDialog

Dialog

A modal dialog box

GridPanel

Grid

2-dimensional set of cells much like a table.

HorizontalScrollBar

Scrollbar align="horizontal"

A scrollbar used to scroll across content

NavigationWindow

opposite of the chrome specifier

An area decorated with standard Web browser navigation controls

ObjectDataSource

template datasources=

Specification of external data for dynamic display

Popup

menupopup

The bit of a context menu or drop down menu that appears when
summoned

QueryCommand

rule

A data query that supports dynamic content generation

RepeatButton

autorepeatbutton

A button that fires continuously

SimpleText

Text

Text that truncates when space is short

TextPanel

Editor

An area used to edit and format text

ToolTip

Tooltip

A textual hint that hovers over a widget

VerticalScrollBar

scrollbar align="vertical"

A scrollbar used to scroll up or down through content

Window

Window

The GUI equivalent of HTML's body tag.

WindowNavigationContainer

Browser

A tag that allows page-oriented navigation of its content

XmlDataSource

template datasources=

Specification of external data for dynamic display

Table 3 shows that both XAML and XUL provide a large list of additional (beyond HTML) GUI widgets to choose from, plus some support for record management applications through the use of data-driven GUI elements. XAML is pretty powerful in that area, and will no doubt challenge Mozilla's sophisticated but unusual template system once there's proper SQL support in Longhorn.

The irony of these widget-oriented tags is that XUL does to Microsoft and XAML what Microsoft does to everybody else. XUL contains just about all of the popular and frequently used widgets that people need, but without the underlying complexity of .NET. The heavy lifting underneath XAML's widgets is probably overkill for a wide range of applicationsparticularly the record management applications that are the heartbeat of most large organizations. To developers building those applications, XAML's highly integrated widgets are a risky bet on high-end media-rich GUI applications of the future. Just how much of the application market that is, only many years will tell. Personally, I don't need a rotating terminal window.