Lenguaje de marcado de aplicaciones extensible - Extensible Application Markup Language

Lenguaje de marcado de aplicaciones extensible (XAML)
Extensión de nombre de archivo
.xaml
Tipo de medio de Internet
aplicación / xaml + xml
Desarrollado por Microsoft
Versión inicial Junio ​​de 2008 (2008-06)
Último lanzamiento
v2009
(16 de abril de 2010 ; hace 11 años ) (2010-04-16)
Tipo de formato Lenguaje de marcado de la interfaz de usuario
Extendido desde XML

Extensible Application Markup Language ( XAML / z æ m əl / ( escuchar )About this sound ) 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 . El acrónimo originalmente significaba Extensible Avalon Markup Language, siendo Avalon el nombre en clave de Windows Presentation Foundation (WPF).

XAML se usa ampliamente en las tecnologías .NET Framework 3.0 y .NET Framework 4.0 , particularmente Windows Presentation Foundation (WPF), Silverlight , Workflow Foundation (WF), Windows UI Library (WinUI) y 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.

Tecnología

Un archivo XAML se puede compilar en un archivo .BAML ( lenguaje de marcado de aplicaciones binarias ), que se puede insertar como recurso en un ensamblado de .NET Framework. En tiempo de ejecución, el motor del 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".

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 .

Ejemplo

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

<Canvas xmlns="http://schemas.microsoft.com/client/2010"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <TextBlock>Hello, world!</TextBlock>

Es xmlns="http://schemas.microsoft.com/..."posible que deba cambiar el esquema (la pieza) para que funcione en su computadora. Usando un esquema que recomienda Microsoft, el ejemplo también puede ser

<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
  <TextBlock>Hello, world!</TextBlock>
</Canvas>

Esto se puede integrar en una página web si WPF se instala mediante XBAP (aplicaciones de explorador XAML) que son aplicaciones compiladas que se ejecutan en un entorno de espacio aislado alojado en el explorador. 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. 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.

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>XAML Example</title>
    <script type="text/javascript" src="MySilverlight.js" />
    <script type="text/javascript" src="Silver.js" />
  </head>
  <body>
    <div id="MySilverlight" >
    </div>
    <script type="text/javascript">
      createMySilverlight();
    </script>
  </body>
</html>

El archivo MySilverlight.js debe contener el código que carga el código XAML anterior (como un archivo XML) bajo el elemento HTML MySilverlight .


Una parte crucial de la utilización de XAML en todo su potencial es hacer un uso adecuado del enlace, así como sentirse cómodo con la creación de sus propios elementos de usuario personalizados según sea necesario, para sus necesidades específicas. La vinculación se puede realizar de la siguiente manera:

<TextBox x:Name="txtInput" />
<TextBlock Text={Binding ElementName=txtInput,Path=Text} />

Diferencias entre versiones de XAML

Hay tres implementaciones principales de Microsoft de XAML:

Estas versiones tienen algunas diferencias en el comportamiento de análisis.

Además, el analizador XAML de Silverlight 4 no es 100% compatible con los archivos de Silverlight 3. Es posible que los archivos XAML aceptados por Silverlight 3 no se acepten o que el analizador de Silverlight 4 los analice de manera diferente.

Críticas al uso de la GUI XAML en Silverlight

El Comité Europeo de Sistemas Interoperables dijo en 2007 que el uso de XAML por parte de Microsoft en su producto Silverlight tenía como objetivo introducir contenido en la World Wide Web al que solo se podía acceder desde la plataforma Windows . Con un complemento, XAML se puede ver en algunos navegadores que no son de Microsoft en Windows, Linux y Mac ; y Microsoft admitió el visor Silverlight de Novell para Linux llamado Moonlight . En enero de 2010, Moonlight 2 era compatible con Silverlight 2, pero el desarrollo de Moonlight se interrumpió más tarde.

Ver también

Referencias

enlaces externos