Extensible Application Markup Language
Filename extension |
.xaml |
---|---|
Internet media type |
application/xaml+xml |
Developed by | Microsoft |
Type of format | markup language |
Extensible Application Markup Language (XAML; pronounced "Zammel") is a declarative XML-based language used to define objects and their properties, relationships and interactions. The acronym originally stood for Extensible Avalon Markup Language, where Avalon was the code-name for Windows Presentation Foundation (WPF).[1]
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 map to Common Language Runtime object instances whereas attributes 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 or XAMLPad. The resulting XAML file is compiled into a .baml binary file, which is 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. The language allows for the definition of both 2D and 3D objects, rotations, animations, and a variety of other effects and features.
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.
See also
- XUL
- ZUL
- UIML
- Adobe Flex
- Boxely
- OpenLaszlo
- List of user interface markup languages
- Comparison of user interface markup languages
External links
- [2] - A leading player in the XAML GUI platform offerings. There flagship product is Aurora.
- [3] - Excellent resource for information about XAML with example code that can be downloaded.
- Microsoft XAML overview
- XAMLdev.com A selection of categorized resources on XAML
- XAML Controls from Microsoft Longhorn Developer Introduction
- XAML used in Microsoft .NET platform
- United XAML Initiative - Open Source XAML Alternatives
- Shaxam - LightWave to XAML converter
- XAML and Technical Authors A discussion of the affect of the open nature of XAML.
- XAML page on NetFXGuide.com A selection of categorized resources on XAML.
- LearnWPF Website to learn WPF
- XAML Discussion Board - A great discussion board for questions on XAML and the WPF