【问题标题】:Need help understanding cross platform with Xamarin Forms需要帮助了解 Xamarin Forms 的跨平台
【发布时间】:2019-10-29 14:17:14
【问题描述】:

所以我最近一直在尝试使用 Xamarin 进行移动开发,但是,我在理解跨平台开发如何使用表单时遇到了一些麻烦。

一些较早的教程显示了一个名为“UI 技术”和“PLC”的选项,但我知道这些功能现在已被弃用。

据我所知,这是旧方法: 为每个平台共享 C# 逻辑和单独的 UI 代码

还有新方法:

所以我的问题是为什么旧方法被删除了?我了解 Xamarin 表单以前不如现在好。为何如此? Xamarin Forms 是否能够制作原生 UI 组件并以原生速度运行,这就是旧功能被移除的原因吗?

【问题讨论】:

    标签: c# visual-studio xamarin xamarin.forms


    【解决方案1】:

    “旧”方式基本相同:您将 ui 和逻辑放在一个共享项目中,然后您拥有平台项目(iOS、Android、UWP、ecc...),您可以在其中放置自定义渲染器、效果, 抄送..

    概念相同,但现在您使用 .NETStandard 项目 而不是 PCL 用于您的共享代码

    PCL 和 .NET Standard 非常相似,但 .NET Standard 有一些优势:

    1 - .NETStandard 是一组经过精心挑选且可互换的 API,而 PCL 只是不同 .NET 平台的简单交集

    2 - .NET Standard 是版本化的并且向后兼容。 PCL 配置文件只是不同平台的表示

    【讨论】:

      【解决方案2】:

      PCL 项目没有对 .Net Framework 的完全访问权限。你需要 选择您要支持的平台。这些平台不 对 .Net Framework 具有相同的访问权限,因此 PCL 受到限制 到所选 API 的最小公分母 平台。这个缺点在 .Net Standard 中不存在。

      更多信息here

      目前,如果您是新手,在开始新的 Xamarin Forms 项目时选择 .Net 标准是最安全的方式。

      【讨论】: