At Microsoft, a quiet revolution in how developers build user interfaces (UIs) has been underway since 2004.
Using a special XML-based markup language called the Extensible Application Markup Language, or XAML, Microsoft has been reworking its approach to defining and building UIs ever since. At first, Microsoft's initial impetus was to develop new mechanisms to support applications that target Vista desktop and Windows Server 2008 applications, but this work has perforce spilled over into Visual Studio, MS languages and lots of other developer infrastructure support elements, such as the ability to export graphic designs in XAML code form from Expression Studio's Expression Design component.
The best place to start learning about XAML is the Microsoft XAML Web site. XAML basically assumes the role of defining user interfaces for the Windows Presentation Foundation (WPF) and for managing tasks within the Windows Workflow Foundation (WF).
In some cases, it may seem that WPF and XAML are used as interchangeable terms, but that's actually not the case: the WPF is a graphics API in which UIs may be defined, whereas XAML is a markup-language that can capture the elements, structures, and syntax of UIs. Thus, they're related, but they're not the same thing.
Likewise, XAML is not identical to scalable vector graphics, or SVG. SVG is inherently two-dimensional and specifies both an XML-based file format and an API, whereas XAML also specifies and XML-based file format (documents written to conform to the XAML markup language, that is), is does not include an API (that's WPF's job). Also XAML supports 3D objects and all kinds of controls; SVG does neither.
Those interested in digging into XAML and learning more about this markup language and emerging and potentially key Microsoft UI technology should dig into the following references and resources:
- Robin Cover's XAML Technology Reports page, which provides a great summary and pointers to all kinds of information;
- Charles Petzold's introduction to XAML, Create Real Apps Using New Code and Markup Model;
- Ian Griffiths' Inside XAML from the O'ReillyONDotnet.com Web site, and
- XAML.net Resources page, which includes pointers to lots of articles, books, tools, forums, newsgroups and videos; WPF coverage is usually quite specific and detailed on XAML as one of its primary elements.
It's always great to see XML put to productive and effective use and interesting to see proprietary efforts seeking success in what has traditionally been an open, standards-oriented approach to defining and developing general-purpose solutions to specific needs or problem areas. XAML should be interesting to track as a phenomenon of this kind, but also extremely valuable to those who develop within the Microsoft framework.
Ed Tittel is a writer and trainer whose interests include XML and development topics, along with IT Certification and information security. E-mail firstname.lastname@example.org with comments, questions, or suggested topics or tools to review. Cool tools rule!