# data[].attributes.body
¿QUE ES XAMARIN?
Xamarin permite a los desarrolladores de C# poder construir aplicaciones multiplataforma para los sistemas operativos móviles y dispositivos más importantes del mundo: Android y iOS

# data[].attributes.body
En Xamarin hay tres métodos para compartir el código: Bibliotecas de Clases Portables (o PCL por sus siglas en inglés), los proyectos de Código compartido y los proyectos de .NET Standard.

# data[].attributes.body
El .NET Standard es un conjunto de APIs que cada runtime de .NET debe implementar. En el momento de estar escribiendo este libro, la versión más ubicua  es la 1.6. Por sus cualidades actuales, este no será el mecanismo que usaré en el libro, sin embargo, en un corto plazo definitivamente será la estrategia recomendada cuando se construyan aplicaciones multiplataforma.

# data[].attributes.body
Xamarin.Forms es un framework multiplataforma de elementos visuales, desplegable a través de NuGet. Estos elementos visuales son una abstracción de los elementos visuales nativos de cada sistema operativo concreto donde ejecuta la aplicación. Xamarin.Forms nos permite compartir hasta el 100% de código multiplataforma, ya que a diferencia del método “clásico”, el código compartido también incluye las vistas o Interfaz de Usuario de la aplicación

# data[].attributes.body
Cuando creamos una aplicación de Xamarin.Forms por medio de Visual Studio

.NET usando la plantilla de Biblioteca de Clases Portables, Visual Studio crea diversos proyectos en la solución. El primer proyecto es la Biblioteca de Clases Portable la cual contendrá el código común y compartido multiplataforma que será usado por todo el resto de proyectos. Adicionalmente, Visual Studio .NET creará un proyecto por cada sistema operativo del que encuentre su SDK correctamente instalado y configurado. Ahora bien, nosotros podemos tener más control sobre qué proyectos exactamente crear, si creamos manualmente la solución y sus proyectos.

# data[].attributes.body
Comprender a detalle la arquitectura de una aplicación de Xamarin.Forms es necesario para poder construir aplicaciones robustas y elegantes con esta tecnología. El siguiente diagrama muestra la arquitectura de una aplicación de Xamarin.Forms, la cual utiliza el método de Bibliotecas de Clases Portables para compartir el código y que apunta a tres sistemas operativos: Android, iOS y UWP.