Partage de code sur plusieurs plateformes

Ces articles expliquent les différentes options disponibles pour le partage de code sur plusieurs plateformes, notamment Windows, Android, iOS et bien plus encore.

Vue d’ensemble du partage de code

Découvrez les différentes options de partage de code disponibles pour les projets Xamarin, notamment les bibliothèques .NET Standard et les projets partagés. Les bibliothèques de classes portables sont également prises en charge, mais elles sont considérées comme dépréciées en faveur de .NET Standard.

.NET Standard

.NET Standard est l’option préférée pour le partage de code entre les plateformes. Le code est généré sur une version spécifique (la version 2.0 offre la meilleure compatibilité d’API avec le code .NET Framework existant) et peut ensuite être consommé par d’autres projets qui prennent en charge ce niveau ou une version supérieure. Les projets .NET Standard sont pris en charge dans Visual Studio 2019 et Visual Studio 2019 pour Mac.

Projets partagés

Les projets partagés vous permettent d’écrire du code commun référencé par un certain nombre de projets d’application différents. Le code est compilé dans le cadre de chaque projet de référencement et peut inclure des directives de compilateur pour aider à incorporer des fonctionnalités spécifiques à la plateforme dans la base de code partagée. Cet article explique comment fonctionnent les projets partagés et comment les créer et les utiliser avec des projets Xamarin.

Bibliothèques de classes portables

Les projets de bibliothèque de classes portables vous permettent de créer et de distribuer des assemblys qui contiennent du code partagé pour s’exécuter sur plusieurs plateformes. Pour créer une bibliothèque de classes portable (ou « PCL »), vous devez d’abord sélectionner les plateformes à cibler, puis écrire du code sur un sous-ensemble du .NET Framework disponible dans le profil défini pour ces plateformes. Les LCP sont considérées comme déconseillées dans les dernières versions de Visual Studio ; les développeurs sont encouragés à utiliser .NET Standard 2.0 à la place.

Projets NuGet : Bibliothèques multiplateformes pour le partage de code

Les packages NuGet peuvent être générés automatiquement à partir de projets standard PCL ou .NET ; et Les projets partagés peuvent être empaquetés dans des packages NuGet « appât et switch » à l’aide du type de projet NuGet distinct. Cette section explique comment créer des packages NuGet pour chaque scénario de partage de code.

Création manuelle de packages NuGet pour Xamarin

Conseils pour créer des packages NuGet qui fonctionnent avec la plateforme Xamarin.

Utiliser des bibliothèques C/C++ dans des projets Xamarin multiplateformes

Cette technique vous permet de dissocier l’évolution de vos bibliothèques C/C++, d’une liaison C# dans un NuGet et de vos applications Xamarin. Les fonctionnalités sont fournies par la bibliothèque C/C++ native-platform, mais tout le code spécifique à la plateforme est isolé de la ou des applications Xamarin finales, ce qui permet les performances les plus élevées possibles sans duplication de code.