Lenguaje de marcado de aplicaciones extensible

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Idioma Microsoft desarrollado para inicializar valores y objetos estructurados

Lenguaje de marcado de aplicaciones extensible (XAML) es un lenguaje declarativo basado en XML desarrollado por Microsoft para inicializar valores y objetos estructurados. Está disponible bajo la Promesa de especificación abierta de Microsoft.

XAML se usa ampliamente en Windows Presentation Foundation (WPF), Silverlight, Workflow Foundation (WF), Windows UI Library (WinUI), Universal Windows Platform (UWP) y .NET Multi-platform App UI (.NET MAUI). . En WPF y UWP, XAML es un lenguaje de marcado de interfaz de usuario para definir elementos de interfaz de usuario, enlace de datos y eventos. Sin embargo, en WF, XAML define flujos de trabajo.

Los elementos XAML se asignan directamente a instancias de objetos de Common Language Runtime (CLR), mientras que los atributos XAML se asignan a propiedades y eventos de CLR en esos objetos.

Todo lo que se crea o implementa en XAML se puede expresar utilizando 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 está basada en XML.

Tecnología

XAML originalmente significaba Extensible Avalon Markup Language, siendo Avalon el nombre en clave de Windows Presentation Foundation (WPF). Sin embargo, antes de que finalizara el desarrollo de .NET Framework 3.0, Microsoft adoptó XAML para Workflow Foundation (WF).

En WPF, XAML describe 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. Un archivo XAML se puede compilar en un archivo de lenguaje de marcado de aplicaciones binarias (BAML), que se puede insertar como un recurso en un ensamblado de .NET Framework. En tiempo de ejecución, el motor del marco extrae el archivo BAML de los recursos del ensamblado, lo analiza y crea un árbol visual o flujo de trabajo WPF correspondiente.

En contextos de WF, XAML describe una lógica declarativa potencialmente de larga duración, como las creadas por herramientas de modelado de procesos y sistemas de reglas. El formato de serialización para flujos de trabajo se llamaba anteriormente XOML, para diferenciarlo del uso de XAML en el marcado de la interfaz de usuario, pero ahora ya no se distinguen. Sin embargo, la extensión de archivo para los archivos que contienen el marcado del flujo de trabajo sigue siendo ".xoml".

XAML utiliza 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.

Para crear archivos XAML, se pueden utilizar Microsoft Expression Blend, Microsoft Visual Studio, el diseñador visual WF hospedable o XAMLPad.

Ejemplos

Captura de Pantalla de desarrollar una aplicación de Windows Presentation Foundation (WPF) utilizando XAML y C# en Visual Studio 2022

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

#Canvas xmlns="http://schemas.microsoft.com/client/2010" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" TextBlockHola. mundo!Identificado/TextBlock■/Canvas título

El esquema (el xmlns="http: //schemas.microsoft.com/..." part) puede que tenga que cambiarse 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" TextBlockHola. mundo!Identificado/TextBlock■/Canvas título

Una parte crucial de utilizar XAML a todo su potencial es hacer el uso apropiado de la unión, así como estar cómodo con la creación de sus propios elementos de usuario personalizados según sea necesario, para sus necesidades específicas. La fijación se puede hacer de la siguiente manera:

TextBox x:Name="txtInput" /TextBlock Texto="{Binding ElementName=txtInput,Path=Text" /

Diferencias entre versiones de XAML

Hay tres implementaciones principales de XAML en Microsoft:

  • Fundación Presentación de Windows (WPF), primera disponible con. NET Framework 3.0
  • Silverlight 3 y 4, primero disponible para Internet Explorer 6 y ahora deprecatado
  • Biblioteca UI de Windows (anteriormente UWP XAML y WinRT XAML), primero enviado con Windows 8 y Windows Server 2012, pero ahora disponible como parte del SDK de Windows App

Estas versiones tienen algunas diferencias en el comportamiento de análisis. Además, el analizador XAML de Silverlight 4 no es 100% compatible con archivos Silverlight 3. Los archivos XAML de Silverlight 3 pueden ser rechazados o analizados de manera diferente por el analizador de Silverlight 4.

Aplicaciones XAML en navegadores web

Históricamente, las aplicaciones basadas en XAML se podían ejecutar en algunos navegadores web, como Internet Explorer y Firefox. Esto se puede lograr mediante archivos XBAP creados a partir de aplicaciones WPF o mediante el complemento del navegador Silverlight. Sin embargo, ambos métodos ahora no son compatibles con los principales navegadores debido a su dependencia de la interfaz del complemento del navegador NPAPI descontinuada.

Preocupaciones por el bloqueo

En 2007, el Comité Europeo de Sistemas Interoperables (ECIS), una coalición de empresas de software en su mayoría estadounidenses, acusó a Microsoft de intentar secuestrar HTML y reemplazarlo con XAML, creando así una dependencia del proveedor. Jeremy Reimer, que escribe para Ars Technica, describió este comentario como "el error más atroz" de la historia. y agregó que es poco probable que XAML reemplace alguna vez a HTML.

Contenido relacionado

Tabla de métodos virtuales

En programación informática, una tabla de métodos virtuales una tabla de funciones virtuales, una tabla de llamadas virtuales , tabla de despacho, vtable o...

ALGOL Y

ALGOL Y fue el nombre dado a un sucesor especulado del lenguaje de programación ALGOL 60 que incorporaba algunas características radicales que fueron...

Hacer bucle while

En muchos lenguajes de programación de computadoras, un bucle do while es una declaración de flujo de control que ejecuta un bloque de código y luego...

API de repositorio de contenido para Java

API de repositorio de contenido para Java es una especificación para una interfaz de programación de aplicaciones de la plataforma Java para acceder a...

Datosflex

DataFlex es un lenguaje de programación de alto nivel orientado a objetos y una herramienta visual de cuarta generación para desarrollar aplicaciones de...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save