¿Qué es Xamarin.Forms?

Screenshots of example Xamarin.Forms application in iOS and Android

Xamarin.Forms es un marco de interfaz de usuario de código abierto. Xamarin.Forms permite a los desarrolladores compilar aplicaciones en Xamarin.Android, Xamarin.iOS y Windows desde un único código base compartido.

Xamarin.Forms permite a los desarrolladores crear interfaces de usuario en XAML con código subyacente en C#. Estas interfaces se representan como controles nativos con mejor rendimiento en cada plataforma.

A quién va destinado Xamarin.Forms

Xamarin.Forms es para desarrolladores con los siguientes objetivos:

  • Compartir el diseño de la interfaz de usuario entre plataformas.
  • Compartir código, pruebas y lógica de negocios entre plataformas.
  • Escribir aplicaciones multiplataforma en C# con Visual Studio.

Cómo funciona Xamarin.Forms

Xamarin.Forms architecture diagram

Xamarin.Forms proporciona una API coherente para crear elementos de interfaz de usuario entre plataformas. Esta API se puede implementar en XAML o C#, y admite el enlace de datos para patrones como Model-View-ViewModel (MVVM).

En tiempo de ejecución, Xamarin.Forms usa los representadores de plataforma para convertir los elementos de la interfaz de usuario multiplataforma en controles nativos en Xamarin.Android, Xamarin.iOS y UWP. Esto permite a los desarrolladores obtener una apariencia y un funcionamiento nativos, además de las ventajas del uso compartido de código entre plataformas.

Las aplicaciones Xamarin.Forms suelen estar compuestas de una biblioteca compartida de .NET Standard y proyectos de plataforma individuales. La biblioteca compartida contiene las vistas XAML o C#, y cualquier lógica de negocios, como servicios, modelos u otro código. Los proyectos de plataforma contienen cualquier lógica o paquete específico de la plataforma que la aplicación necesite.

Xamarin.Forms usa la plataforma Xamarin para ejecutar aplicaciones de .NET de forma nativa en todas las plataformas. Para obtener más información sobre la plataforma Xamarin, vea ¿Qué es Xamarin?.

Funcionalidad adicional

Xamarin.Forms tiene un amplio ecosistema de bibliotecas que agregan diversas funciones a las aplicaciones. En esta sección se describen algunas de estas funciones adicionales.

Xamarin.Essentials

Xamarin.Essentials es una biblioteca que proporciona API multiplataforma para características de dispositivos nativos. Como el propio Xamarin, Xamarin.Essentials es una abstracción que simplifica el proceso de acceso a utilidades nativas. Algunos ejemplos de las utilidades que proporciona Xamarin.Essentials son los siguientes:

  • Información del dispositivo
  • Sistema de archivos
  • Acelerómetro
  • Marcador telefónico
  • Texto a voz
  • Bloqueo de pantalla

Para obtener más información, vea Xamarin.Essentials.

Shell

Xamarin.Forms Shell reduce la complejidad del desarrollo de aplicaciones móviles al proporcionar las características fundamentales que la mayoría de las aplicaciones necesita. Algunos ejemplos de características proporcionadas por Shell son los siguientes:

  • Experiencia de navegación común
  • Esquema de navegación basado en URI
  • Controlador de búsqueda integrado

Para obtener más información, consulte Xamarin.Forms Shell.

Características específicas de las plataformas

Xamarin.Forms proporciona una API común que representa controles nativos entre plataformas, pero una plataforma específica puede tener funciones que no existan en otras. Por ejemplo, la plataforma Android tiene funcionalidad nativa para el desplazamiento rápido en un objeto ListView pero iOS no. Las características específicas de la plataforma de Xamarin.Forms permiten usar funciones que solo están disponibles en una plataforma concreta sin necesidad de crear representadores ni efectos personalizados.

Xamarin.Forms incluye soluciones prediseñadas para distintas funcionalidades específicas de la plataforma. Para obtener más información, consulte:

Objeto visual de material

El objeto visual de material de Xamarin.Forms se usa para aplicar reglas de diseño de materiales a aplicaciones de Xamarin.Forms. El objeto visual de material de Xamarin.Forms usa la propiedad Visual para aplicar de forma selectiva representadores personalizados a la interfaz de usuario, lo que da lugar a una aplicación con una apariencia coherente entre iOS y Android.

Para obtener más información, consulte Objeto visual de material de Xamarin.Forms.