Xamarin PCL 与 SL 混淆
Xamarin PCL vs. SL confusion
在 Xamarin 中,我对 PCL(便携式 class 库)和 SL(共享库)之间的确切区别感到困惑。我正在研究一个单一的,不担心未来的其他项目...所以在开发单个代码集和 material UI 基于 Xamarin 项目库时哪个最好?
补充:我的应用程序将在每个平台上发布,IOS、Andriod 和 Windows..
如果您真的不关心不同的平台,那么您既不需要共享库也不需要 PCL。这两种项目类型都是为了在多个项目和平台上共享代码而创建的。
在您的情况下,您可以在 Xamarin.Android 项目中做任何您想做的事情。
但请注意,当您突然需要瞄准 iOS 或 Windows 时,很难将平台特定代码与平台无关代码分开。
当您使用 PCL 时,您被迫将两种代码分开。
正如 Iain Smith 已经提到的:看这里
如果您希望使用特定于平台的控件,您可以使用共享项目轻松实现。就像 link Ian Smith 离开时 Wosi 所说的那样,您可以使用 #if 编译器语句来区分设备。 PCL 不是这种情况,尽管它们比共享项目中的代码更模块化且更容易识别。
在 Xamarin 中,我对 PCL(便携式 class 库)和 SL(共享库)之间的确切区别感到困惑。我正在研究一个单一的,不担心未来的其他项目...所以在开发单个代码集和 material UI 基于 Xamarin 项目库时哪个最好?
补充:我的应用程序将在每个平台上发布,IOS、Andriod 和 Windows..
如果您真的不关心不同的平台,那么您既不需要共享库也不需要 PCL。这两种项目类型都是为了在多个项目和平台上共享代码而创建的。 在您的情况下,您可以在 Xamarin.Android 项目中做任何您想做的事情。 但请注意,当您突然需要瞄准 iOS 或 Windows 时,很难将平台特定代码与平台无关代码分开。 当您使用 PCL 时,您被迫将两种代码分开。
正如 Iain Smith 已经提到的:看这里
如果您希望使用特定于平台的控件,您可以使用共享项目轻松实现。就像 link Ian Smith 离开时 Wosi 所说的那样,您可以使用 #if 编译器语句来区分设备。 PCL 不是这种情况,尽管它们比共享项目中的代码更模块化且更容易识别。