Видите, я думаю, у вас есть небольшая путаница, как это в основном работает: Xamarin.iOS
использует нативное поведение iOS objective-c
с раскадровками и контроллерами представления, Xamarin.Android
использует нативное поведение java с использованием xmls, действий, фрагментов.И Xamarin.Forms
- это кроссплатформенный инструмент разработки, который работает на обоих одновременно с использованием XAML, причем все три работают в среде с выделенным кодом C #.
Теперь, если вы добавите PCL или .NetStandard к вашемуПроекты Xamarin.Android и Xamarin.iOS вы можете использовать их для написания общего кода, например, для бизнес-уровней, сервисов и т. Д., Но вы не можете ссылаться на них друг на друга, как проект Android
не может ссылаться на iOS
и наоборот.
Но, с другой стороны, вы можете иметь общий сервисный уровень, используя библиотеку .Net Standard
, в то время как Xamarin.Android/iOS
может использовать те же модели (почти все время) и сервисы.
Обратите внимание, чтоСтандарт Xamarin-Forms
.Net и PCL одинаковы, но до тех пор, пока вы не добавите пакет Xamarin.Forms
и не внесете необходимые изменения, необходимые для форм, ваше приложение будет в значительной степени проектом Xamarin.Android/Xamarin.iOS сстандарт .Net или PCL в качестве эталона проекта.
Также обратите внимание, что PCL устарели, и поэтому xamarin рекомендует вам использоватьe .Net стандартные библиотеки,
Вам интересно, чем они отличаются? проверьте это
Чтобы лучше понять, что такое стандарт PCL и .Net, вы можете проверить следующие ссылки:
PCL: https://docs.microsoft.com/en-us/xamarin/cross-platform/app-fundamentals/pcl?tabs=windows
.Net Standard: https://docs.microsoft.com/en-us/dotnet/standard/net-standard