XAML
# XAML

XAML (acrónimo pronunciado xammel del inglés eXtensible Application Markup Language, Lenguaje Extensible de Formato para Aplicaciones en español) es el lenguaje de formato para la interfaz de usuario para la Base de Presentación de Windows (WPF por sus siglas en inglés) y Silverlight(wpf/e), el cual es uno de los "pilares" de la interfaz de programación de aplicaciones .NET en su versión 3.0 (conocida con anterioridad con el nombre clave WinFX).

XAML es un lenguaje declarativo basado en XML, optimizado para describir gráficamente interfaces de usuario visuales ricas desde el punto de vista gráfico, tales como las creadas por medio de Adobe Flash. XUL y UIML son otros ejemplos de lenguajes de interfaz basados en XML. SVG es un estándar de la organización W3C, el cual soporta gráficos, animaciones, audio y video integrados, eventos y comportamiento descrito por medio de escritura y puede ser utilizado como lenguaje de interfaz basado en XML.

En su uso típico, los archivos tipo XAML serían producidos por una herramienta de diseño visual, como Microsoft Visual Studio o Microsoft Blend. El XML resultante es interpretado en forma instantánea por un subsistema de despliegue de Windows que reemplaza al GDI de las versiones anteriores de Windows. Los elementos de XAML se interconectan con objetos del Entorno Común de Ejecución para Lenguajes. Los atributos se conectan con propiedades o eventos de esos objetos.

XAML fue diseñado para soportar las clases y métodos de la plataforma de desarrollo .NET que tienen relación con la interacción con el usuario, en especial el despliegue en pantalla. El acrónimo XAML originalmente significaba Extensible Avalon Markup Language, Lenguaje Extensible de Formato de Avalon; habiendo sido Avalon el nombre clave original de la Base de Presentación de Windows, nombre que engloba a este grupo de clases de .NET.

## Tecnología

Un archivo XAML puede ser compilado para obtener un archivo binario XAML .baml, el cual puede ser insertado como un recurso en un ensamblado de Framework .NET. En el momento de ejecución, el motor del Framework extrae el archivo .baml de los recursos del ensamblado, se analiza sintácticamente, y crea el correspondiente árbol visual WPF o Workflow.

Cuando se use en Windows Presentation Foundation, XAML es usado para describir interfaces visuales para usuarios. WPF permite la definición de objetos en 2D y 3D, rotaciones, animaciones y otra variedad de características y efectos.

Cuando es usado en el contexto de Windows Workflow Foundation, XAML es usado para describir lógica declarativa potencialmente larga (potentially long-running declarative logic), como aquellos creados en el proceso de sistemas de modelado y herramientas. El formato de serialización para WorkFlows había sido llamado previamente XOML, para diferenciarlo de su uso en IU de los XAML, pero esa diferenciación ya no existe. Sin embargo las extensiones de los archivos que contienen marcado de workflow es todavía XOML. [4][5]

## Ejemplos

Este ejemplo en XAML muestra un texto "Hola Mundo!" dentro de un contenedor del tipo Canvas.

