¿Qué es XAML?
Podemos tirar de Wikipedia para saber qué significa XAML, es decir, saber el siginificado de su acrónimo. Básicamente es Extensible Application Markup Language, pero no te compliques mucho, es un lenguaje de marcado que nos permite escribir de una manera muy sencilla la interfaz de usuario de una aplicación hecha con Xamarin.Forms.
Con XAML también podemos escribir la interfaz de usuario de aplicaciones universales de windows, UWP, de escritorio utilizando Windows Presentation Foundation, WPF y como Uno Platform utiliza UWP, pues también nos sirve para esto. Como ves, es un lenguaje de marcado que nos ofrece multitud de oportunidades para el desarrollo.
Supongo que te andarás preguntando cómo empiezo a aprender XAML, pues sencillo, escribiendo XAML para cualquiera de las plataformas que lo soportan. Porque esto es algo que no debes olvidar nunca, una cosa es ir viendo teoría, vídeos, leyendo blogs, etc… pero lo que realmente te va a dar horas de vuelo es ir haciendo pruebas, comprendiendo como funciona cada elemento, qué opciones tenemos para modificarlos, en fin, aprender a usarlo de verdad.
Pero vayamos por partes, XAML, como otros lenguajes de marcado, tiene una forma específica de utilizarse y lo que más me gusta es que resulta muy sencillo de asimilar. Tienes un elemento que se inicia y cierra, que denominaremos muchas veces como «el padre» y dentro de la declaración tienes al «hijo» o los «hijos», que verás que también depende del tipo de elemento podremos tener uno, ninguno o muchos. No te preocupes mucho al principio por ver que hay un montón de elementos, es normal sentirse abrumado y pensar que no vas a entenderlo todo, a mi me sigue ocurriendo con muchas de las propiedades a día de hoy.
En fin, que para arrancar necesitas saber un par de cosas sobre la sintaxis de un archivo XAML, lo que viene a ser el modo en que tenemos que escribirlo y no es ni más ni menos que 3 caracteres que te ayudarán en el camino, ‘<‘, ‘/’ y ‘>’. ¿así de fácil? Sí, y así de complejo.
Con el primer caracter abrimos etiqueta, o lo que es lo mismo, empezamos a definir un elemento. Con el tercer caracter cerramos el inicio del elemento y después, con una mezcla de los 3 cerramos el elemento y ya podemos añadir el contenido en su interior. Creo que se verá mejor con un ejemplo:
<ContentPage>
//Aqui dentro escribimos el contenido
</ContentPage>
Como puedes ver en el ejemplo de código, estamos creando un elemento del tipo «ContentPage» y esto, en Xamarin.Forms creará un elemento en nuestra pantalla que puede ser utilizado para…. todavía no es momento de entrar en esto, un poquito de paciencia.
Cuando creamos un nuevo archivo XAML, verás que tenemos una serie de propiedades muy raras, algo así como esto:
xmlns:skia=»clr-namespace:SkiaSharp.Views.Forms;assembly=SkiaSharp.Views.Forms»
Este es el modo en el que utilizaremos la importación de namespace en nuestro XAML. En este caso estoy exponiendo el acceso a SkiaSharp para poder utilizarlo en mi archivo XAML, de manera que pueda utilizar todos los controles que nos provee la librería. Te escribo un ejemplo para que veas como se utiliza:
<ContentPage
xmlns:skia=»clr-namespace:SkiaSharp.Views.Forms;assembly=SkiaSharp.Views.Forms»>
<skia:SKCanvasView />
</ContentPage>
Ahora tendrías un elemento del tipo SKCanvasView que ocupa todo el espacio de tu ContentPage y que hace uso de una librería externa, así de sencillo.
Poco a poco iremos revisando elementos disponibles en Xamarin.Forms, propiedades que podemos manipular, quien acepta «hijos» y como ir personalizándolo todo hasta conseguir hacer una aplicación móvil.