Compartilhando código em várias plataformas

Estes artigos explicam as diferentes opções disponíveis para compartilhar código entre plataformas, incluindo Windows, Android, iOS e muito mais.

Visão geral do compartilhamento de código

Saiba mais sobre as diferentes opções de compartilhamento de código disponíveis para projetos do Xamarin, incluindo bibliotecas .NET Standard e projetos compartilhados. Também há suporte para bibliotecas de classes portáteis, no entanto, elas são consideradas preteridas em favor do .NET Standard.

.NET Standard

O .NET Standard é a opção preferencial para compartilhar código entre plataformas. O código é criado com base em uma versão específica (2.0 fornece a melhor compatibilidade de API com o código .NET Framework existente) e pode ser consumido por outros projetos que dão suporte a esse nível ou superior. Há suporte para projetos do .NET Standard no Visual Studio 2019 e no Visual Studio 2019 para Mac.

Projetos compartilhados

Projetos Compartilhados permitem que você escreva um código comum referenciado por vários projetos de aplicativo diferentes. O código é compilado como parte de cada projeto de referência e pode incluir diretivas do compilador para ajudar a incorporar funcionalidades específicas da plataforma na base de código compartilhado. Este artigo discute como os Projetos Compartilhados funcionam e como criá-los e usá-los com projetos do Xamarin.

Bibliotecas de classes portáteis

Os projetos da Biblioteca de Classes Portátil permitem que você crie e distribua assemblies que contêm código compartilhado para execução em várias plataformas. Para criar uma Biblioteca de Classes Portátil (ou "PCL") primeiro, selecione quais plataformas direcionar e, em seguida, escreva código em um subconjunto do .NET Framework que está disponível no perfil definido para essas plataformas. As PCLs são consideradas preteridas nas versões mais recentes do Visual Studio; Os desenvolvedores são incentivados a usar o .NET Standard 2.0.

Projetos do NuGet: Bibliotecas multiplataforma para compartilhamento de código

Os pacotes NuGet podem ser gerados automaticamente a partir de projetos PCL ou .NET Standard; e Projetos Compartilhados podem ser empacotados em pacotes NuGet "isca e comutador" usando o tipo de projeto NuGet separado. Esta seção explica como criar pacotes NuGet para cada cenário de compartilhamento de código.

Criar manualmente pacotes NuGet para Xamarin

Dicas para criar pacotes NuGet que funcionam com a plataforma Xamarin.

Usar bibliotecas C/C++ em projetos Xamarin multiplataforma

Essa técnica permite que você desacopla a evolução de suas bibliotecas C/C++, uma associação C# em um NuGet e seus aplicativos Xamarin. A funcionalidade é fornecida pela biblioteca C/C++ da plataforma nativa, mas todo o código específico da plataforma é isolado dos aplicativos finais do Xamarin, permitindo o desempenho mais alto possível sem duplicação de código.