From Wikipedia, the free encyclopedia
| Extensible
Application Markup Language (XAML) |
|
File extension: |
.xaml |
|
MIME type: |
application/xaml+xml |
| Developed by: |
Microsoft |
| Type of format: |
markup language |
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).[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 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.[citation
needed]
Controversy
A number of rivals have complained about the use of XAML by
Microsoft in its
Windows Vista operating system[2].
In an interview with Netcraft published in 2004,
Miguel de Icaza referred to XAML as a replacement for HTML[3].
In January 2007, European Committee for Interoperable Systems
(ECIS) chair Simon Awde accused Microsoft of hijacking the web
by using platform dependent XAML[4].
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.
See also
- XUL
-
BPEL
-
ZUL
-
UIML
-
Adobe Flex
-
Boxely
-
OpenLaszlo
-
List of user interface markup languages
-
Comparison of user interface markup languages
-
OOXML
-
GladeXML
External links
-
WPF SDK
Microsoft Developer Network's top-level portal to the
Windows Presentation Foundation SDK which documents WPF
technologies including XAML.
-
Microsoft XAML overview
-
XAMLdev.com selection of categorized resources on XAML
-
XAML Controls from Microsoft Longhorn Developer Introduction
-
United XAML Initiative - Open Source XAML Alternatives
-
XAML page on NetFXGuide.com A selection of categorized
resources on XAML.
-
LearnWPF Website to learn WPF
-
Website resource for markup language technologies
-
European Committee for Interoperable Systems
.NET Framework (Microsoft)
v d e
| Architecture: |
Common Language Infrastructure
.NET assembly
.NET metadata
Base Class Library |
|
Common Language Infrastructure: |
Common Language Runtime
Common Type System
Common Intermediate Language
Virtual Execution System |
|
Languages: |
C#
Visual Basic .NET
C++/CLI (Managed)
J#
JScript .NET
Windows PowerShell
IronPython
F# |
| Windows
Foundations: |
Presentation
Communication
Workflow
CardSpace |
| Related: |
Windows Forms
ASP.NET
ADO.NET
.NET Remoting
XAML |
| Other
Implementations: |
.NET Compact Framework
.NET Micro Framework
Shared Source CLI
Portable.NET
Mono |
| Comparison: |
C# vs. Java
C# vs. VB .NET |
Categories:
Articles with unsourced statements since February 2007
|
All articles with unsourced statements |
XML-based standards |
User interface markup languages |
Microsoft APIs |
Vector graphics markup languages