Uso compartido de código en varias plataformas

En estos artículos se explican las distintas opciones disponibles para compartir código entre plataformas, como Windows, Android, iOS, etc.

Introducción al uso compartido de código

Obtenga información sobre las diferentes opciones de uso compartido de código disponibles para proyectos de Xamarin, incluidas las bibliotecas estándar de .NET y los proyectos compartidos. También se admiten bibliotecas de clases portables, pero se consideran en desuso en favor de .NET Standard.

.NET Standard

.NET Standard es la opción preferida para compartir código entre plataformas. El código se compila con una versión específica (la 2.0 proporciona la mejor compatibilidad de API con el código de .NET Framework existente) y, a continuación, se puede consumir en otros proyectos que admitan ese nivel o superior. Los proyectos de .NET Standard se admiten en Visual Studio 2019 y Visual Studio 2019 para Mac.

Proyectos compartidos

Los proyectos compartidos le permiten escribir código común al que distintos proyectos de aplicaciones hacen referencia. El código se compila como parte de cada proyecto de referencia y puede incluir directivas de compilador para ayudar a incorporar una funcionalidad específica de la plataforma en el código base compartido. En este artículo se describe cómo funcionan los proyectos compartidos y cómo crearlos y usarlos con proyectos de Xamarin.

Bibliotecas de clases portables

Los proyectos de biblioteca de clases portables permiten compilar y distribuir ensamblados que contienen código compartido para ejecutarse en varias plataformas. Para crear una biblioteca de clases portable (o "PCL"), primero debe seleccionar las plataformas a las que desea dirigirse y, a continuación, escribir código para un subconjunto de .NET Framework que esté disponible en el perfil definido para esas plataformas. Las PCL se consideran obsoletas en las últimas versiones de Visual Studio; se recomienda a los desarrolladores usar .NET Standard 2.0 en su lugar.

Proyectos de NuGet: bibliotecas multiplataforma para el uso compartido de código

Los paquetes NuGet se pueden generar automáticamente a partir de proyectos estándar PCL o .NET; y los proyectos compartidos se pueden empaquetar en paquetes NuGet de "conmutación" usando el tipo de proyecto NuGet independiente. En esta sección se explica cómo crear paquetes NuGet para cada escenario de uso compartido de código.

Creación manual de paquetes NuGet para Xamarin

Sugerencias para crear paquetes NuGet que funcionan con la plataforma de Xamarin.

Uso de bibliotecas de C/C++ en proyectos de Xamarin multiplataforma

Esta técnica permite desacoplar la evolución de las bibliotecas de C/C++, una vinculación de C# en un NuGet y las aplicaciones de Xamarin. La biblioteca de C/C++ de la plataforma nativa proporciona funcionalidad, pero todo el código específico de la plataforma está aislado de las aplicaciones finales de Xamarin, lo que permite el rendimiento más alto posible sin duplicación de código.