XAML
El lenguaje de marcado de aplicaciones extensible (XAML) 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) con marcado en lugar de código. XAML no es necesario en una aplicación .NET MAUI, pero es el enfoque recomendado para desarrollar tu interfaz de usuario porque a menudo es más breve, más coherente visualmente y tiene compatibilidad con herramientas. XAML también es adecuado para su uso con el patrón Modelo-Vista-Modelo (MVVM), donde XAML define la vista vinculada al código de modelo de vista con 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 integrar en el paquete de la aplicación. En cualquier caso, el XAML se analiza en el tiempo de compilación para buscar objetos con nombre y, en el tiempo de ejecución, se crean instancias y se inicializan los objetos representados por el XAML.
XAML tiene varias ventajas con respecto al código equivalente:
- XAML suele ser más breve y legible que el código equivalente.
- La jerarquía de elementos primarios y secundarios inherente a XML permite a XAML imitar 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 de 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. Sin embargo, hay controles que muestran colecciones de datos, como ListView y CollectionView.
- 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 de forma eficaz cierto 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 a veces se puede superar.
No hay ningún diseñador visual para generar XAML en aplicaciones de .NET MAUI. Todo XAML debe estar escrito a mano, pero puedes usar la recarga frecuente de XAML para ver tu 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 completamente legal. Pero estas características de sintaxis XAML usan XML de maneras únicas.