Lenguaje de marcado de aplicaciones extensible


Extensible Application Markup Language ( XAML / z æ m əl / ( escuchar )Sobre este sonido ) es una declarativa XML lenguaje basado desarrollado por Microsoft que se utiliza para inicializar los valores y objetos estructurados. Está disponible bajo la promesa de especificación abierta de Microsoft . [4] El acrónimo originalmente significaba Extensible Avalon Markup Language, siendo Avalon el nombre en clave de Windows Presentation Foundation (WPF). [5]

XAML se usa ampliamente en las tecnologías .NET Framework 3.0 y .NET Framework 4.0 , en particular Windows Presentation Foundation (WPF) , Silverlight , Windows Workflow Foundation (WF) , Windows Runtime XAML Framework y las aplicaciones de la Tienda Windows. En WPF, XAML forma un lenguaje de marcado de interfaz de usuario para definir elementos de interfaz de usuario, enlace de datos, eventos y otras características. En WF, los flujos de trabajo se pueden definir mediante XAML. XAML también se puede usar en aplicaciones Silverlight , Windows 10 Mobile (anteriormente Windows Phone ) y aplicaciones de la Plataforma universal de Windows , también llamadas aplicaciones de la Tienda Windows .

Los elementos XAML se asignan directamente a las instancias de objetos de Common Language Runtime , mientras que los atributos XAML se asignan a las propiedades y eventos de Common Language Runtime en esos objetos. Los archivos XAML se pueden crear y editar con herramientas de diseño visual como Microsoft Expression Blend , Microsoft Visual Studio y el diseñador visual hospedable de Windows Workflow Foundation . También se pueden crear y editar con un editor de texto estándar , un editor de código como XAMLPad o un editor gráfico como Vector Architect .

Todo lo que se crea o implementa en XAML se puede expresar mediante un lenguaje .NET más tradicional, como C # o Visual Basic .NET . Sin embargo, un aspecto clave de la tecnología es la complejidad reducida necesaria para que las herramientas procesen XAML, porque se basa en XML. [6] En consecuencia, están surgiendo una variedad de productos, particularmente en el espacio WPF, que crean aplicaciones basadas en XAML. Como XAML se basa simplemente en XML, los desarrolladores y diseñadores pueden compartir y editar contenido libremente entre ellos sin necesidad de compilación. XAML también se beneficia de ser una definición declarativa de la interfaz de usuario en lugar de un código de procedimiento para generarla.

Un archivo XAML se puede compilar en un archivo .BAML ( Lenguaje de marcado de aplicaciones binarias [7] ), que se puede insertar como recurso en un ensamblado de .NET Framework. En tiempo de ejecución, el motor de marco extrae el archivo .BAML de los recursos de ensamblaje, lo analiza y crea un árbol visual o flujo de trabajo de WPF correspondiente.

Cuando se usa en Windows Presentation Foundation, XAML se usa para describir interfaces de usuario visuales . WPF permite la definición de objetos 2D y 3D, rotaciones, animaciones y una variedad de otros efectos y características.

Cuando se usa en contextos de Windows Workflow Foundation, XAML se usa para describir la lógica declarativa potencialmente de larga ejecución, como las creadas por las herramientas de modelado de procesos y los sistemas de reglas. El formato de serialización para flujos de trabajo se llamaba anteriormente XOML , para diferenciarlo del uso de marcado de interfaz de usuario de XAML, pero ahora ya no se distinguen. Sin embargo, la extensión de archivo para los archivos que contienen el marcado de flujo de trabajo sigue siendo "XOML". [8] [9]

Plantillas

XAML usa una forma específica de definir la apariencia llamada Plantillas ; a diferencia de la sintaxis de la hoja de estilo en cascada , está más cerca de XBL . [10]

Este ejemplo de Windows Presentation Foundation muestra el texto "¡Hola, mundo!" en el contenedor XAML de nivel superior denominado Canvas.

 xmlns = "http://schemas.microsoft.com/client/2007"  xmlns: x = "http://schemas.microsoft.com/winfx/2006/xaml" >   ¡Hola, mundo!  

Es posible que deba cambiar el esquema (la parte xmlns = " https://web.archive.org/web/20170705010515/http://schemas.microsoft.com/ ...") para que funcione en su computadora. Utilizando un esquema recomendado por Microsoft, el ejemplo también puede ser [11]

 xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" >   ¡Hola, mundo!  

Esto se puede integrar en una página web si WPF se instala mediante XBAP (aplicaciones de navegador XAML) que son aplicaciones compiladas que se ejecutan en un entorno de espacio aislado alojado en el navegador. Otra forma es utilizar el complemento Silverlight . El código no se puede incluir directamente en una página HTML ; más bien, debe cargarse en la página a través de JavaScript . Si está instalado .NET 3.0 o posterior, los archivos XAML sueltos también se pueden ver por sí mismos en un navegador web compatible (incluidos Internet Explorer y Firefox ) junto con .NET Framework 3.0, sin la necesidad del complemento Silverlight. [12] Los archivos XAML sueltos son archivos de solo marcado que se limitan a definir el contenido visual que se va a representar. No se compilan con una aplicación.

 xmlns = "http://www.w3.org/1999/xhtml" >     Ejemplo de XAML