ARTICLES IN THE BOOK
A GUIDE TO WINDOWS VISTA
This article is from:
All text is available under the terms of the GNU Free Documentation License: http://en.wikipedia.org/wiki/Wikipedia:Text_of_the_GNU_Free_Documentation_License
Extensible Application Markup Language (XAML, pronounced zammel ([zæ:mɛl])) by Microsoft is a declarative XML-based language used to initialize structured values and objects. The acronym originally stood for Extensible Avalon Markup Language, where Avalon was the code-name for Windows Presentation Foundation (WPF).
XAML is used extensively in the .NET Framework 3.0 technologies, particularly in Windows Presentation Foundation (WPF), where it is used as a user interface markup language to define UI elements, data binding, eventing, and other features, and in Windows Workflow Foundation (WF), in which workflows themselves can be defined using XAML.
XAML elements can map directly to Common Language Runtime object instances whereas attributes can map to CLR properties and events on those objects. In typical usage, XAML files will be produced by visual design and developer tools, such as Microsoft Expression Interactive Designer, Microsoft Visual Studio, XAMLPad or the hostable Windows Workflow Foundation (WF) visual designer.
XAML files are sometimes compiled into a .baml binary files, which may be inserted as a resource into a .NET Framework assembly. At run-time, the framework engine extracts the .baml file from assembly resources, parses it, and creates a corresponding WPF visual tree or workflow.
When used in WPF, XAML is used to describe graphically rich visual user interfaces, such as those created by Adobe Flash. XUL and UIML are other examples of XML-based user interface languages. WPF allows for the definition of both 2D and 3D objects, rotations, animations, and a variety of other effects and features.
When used in WF, XAML is used to describe potentially long-running declarative logic, such as those created by process modeling tools and rules systems. RuleML and BPEL are other examples of XML-based declarative logic languages.
Anything that is created or implemented in XAML can be expressed using a more traditional .NET language, such as C# or Visual Basic .NET. However, a key aspect of the XAML technology is the more simple approach required for tools because it is simply XML. Consequently, a variety of products are emerging, particularly in the WPF space, to create XAML files. Being XML-based, XAML allows analysts, designers and developers to share artifacts more realistically and to enable these artifacts to be re-edited by any of these roles without requiring additional re-integration work by the others.
A number of rivals have complained about the use of XAML by Microsoft in its Windows Vista operating system. In an interview with Netcraft published in 2004, Miguel de Icaza referred to XAML as a replacement for HTML. In January 2007, European Committee for Interoperable Systems (ECIS) chair Simon Awde accused Microsoft of hijacking the web by using platform dependent XAML. ECIS asked the European Commission to make a decision "as fast as possible" on a complaint filed in February, 2006. ECIS alleges that XAML is dependent on the Microsoft Windows operating system and its use will make it difficult for users of other operating systems and browsers to access websites written in XAML.