【问题标题】:Xamarin.Forms PCLXamarin.Forms PCL
【发布时间】:2017-01-21 15:59:11
【问题描述】:

我只是想知道将 PCL 与 Xamarin.Forms 一起使用有什么好处。 我的意思是你无论如何都要在每个平台之间共享代码。 在 Xamarins 本机方法中,这很清楚。 所以也许有人可以告诉我为什么要在 Xamarin.Forms 中使用 PCL?

【问题讨论】:

  • 为什么要使用 PCL 而不是什么替代方案?共享库?或者您认为还有什么其他选择?
  • pcl 或共享库。但是为什么还要使用其中之一
  • 您必须有某种机制来在两个不同平台项目之间共享代码——通常是 PCL 或共享库。唯一的其他方法是只复制源文件,这是一个可怕的想法。
  • 事实上,PCL 库是 Xamarin.Forms 共享所有代码/视图的方式。如果您进入平台项目(iOS 或 Android),您将看到它们实际上是空的,因为它们充当在 Xamarin.Forms 中创建的页面的“持有者”。

标签: xamarin xamarin.forms portable-class-library


【解决方案1】:

PCL 允许最大程度地跨平台共享代码。 PCL 本质上会限制您仅使用可以在平台之间共享的那些 API。

虽然您可以使用共享项目,但您会发现自己使用编译器指令并做出编码牺牲,这可能会导致除了最小项目之外的任何项目都出现错误的编码实践。

使用 Xamarin Forms 2.3.3 或更高版本,您当然可以在 PCL 中的 Xamarin Forms 页面中嵌入平台特定控件,并且它们只会在平台上运行时呈现。

【讨论】:

【解决方案2】:

除了最大程度地共享代码之外,它还允许您遵循 SOLID 等最佳实践。

另外,请记住有 3 个选择(不仅仅是 2 个):

  • 可移植类库
  • 共享库
  • .NET 标准库

.NET 标准库仍在进行中,所以还没有。但是,这将是要走的路!因此,今天的 PCL 可以为您明天提供向 .NET 标准库的出色迁移路径。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    • 2016-10-01
    • 1970-01-01
    相关资源
    最近更新 更多