XAML

El lenguaje de marcado de aplicaciones (XAML) de eXtensible es un lenguaje basado en XML que es una alternativa al código de programación para crear instancias e inicializar objetos, y organizar esos objetos en jerarquías de elementos primarios y secundarios.

XAML permite a los desarrolladores definir interfaces de usuario en aplicaciones de interfaz de usuario de aplicaciones multiplataforma de .NET (.NET MAUI) mediante marcado en lugar de código. XAML no es necesario en una aplicación .NET MAUI, pero es el enfoque recomendado para desarrollar la interfaz de usuario porque a menudo es más concisa, más coherente visualmente y tiene compatibilidad con herramientas. XAML también es adecuado para su uso con el patrón Model-View-ViewModel (MVVM), donde XAML define la vista que está vinculada al código de modelo de vista a través de enlaces de datos basados en XAML.

Dentro de un archivo XAML, puedes definir interfaces de usuario con todas las vistas, diseños y páginas de .NET MAUI, así como clases personalizadas. El archivo XAML se puede compilar o incrustar en el paquete de la aplicación. En cualquier caso, el XAML se analiza en tiempo de compilación para buscar objetos con nombre y, en tiempo de ejecución, se crean instancias e inicializan los objetos representados por el XAML.

XAML tiene varias ventajas sobre el código equivalente:

  • XAML suele ser más concisa y legible que el código equivalente.
  • La jerarquía de elementos primarios y secundarios inherente a XML permite que XAML imite con mayor claridad visual la jerarquía de elementos primarios y secundarios de los objetos de la interfaz de usuario.

También hay desventajas, principalmente relacionadas con las limitaciones intrínsecas a los lenguajes de marcado:

  • XAML no puede contener código. Todos los controladores de eventos deben definirse en un archivo de código.
  • XAML no puede contener bucles para el procesamiento repetitivo.
  • XAML no puede contener procesamiento condicional. Sin embargo, un enlace de datos puede hacer referencia a un convertidor de enlaces basado en código que permite eficazmente algún procesamiento condicional.
  • Por lo general, XAML no puede crear instancias de clases que no definen un constructor sin parámetros, aunque esta restricción puede superarse a veces.
  • Por lo general, XAML no puede llamar a métodos, aunque esta restricción puede superarse a veces.

No hay ningún diseñador visual para generar XAML en aplicaciones .NET MAUI. Todo XAML debe escribirse a mano, pero puedes usar recarga activa de XAML para ver la interfaz de usuario a medida que la edites.

XAML es básicamente XML, pero XAML tiene algunas características de sintaxis únicas. Las más importantes son las siguientes:

  • Elementos de propiedad
  • Propiedades adjuntas
  • Extensiones de marcado

Estas características no son extensiones XML. XAML es xml totalmente legal. Sin embargo, estas características de sintaxis XAML usan XML de maneras únicas.