gpt4 book ai didi

xamarin.forms - 我应该为 Xamarin.Form 创建什么样的项目(共享或 .Net 标准)?

转载 作者:行者123 更新时间:2023-12-02 03:35:54 24 4
gpt4 key购买 nike

我必须按如下方式创建应用程序。

1- App should work with Android and iOS.

2- Resolution should support to Mobile and Tabs

3- Data storage is on cloud. So, Restful API call will be there for data transactions

4- There might be local storage for configuration settings

5- There might be native code for some functionalities like implement UrbanAirship Notification, Facebook etc

当我为 Xamarin.Forms 创建项目时,我有 2 个选项来创建应用程序:

1- 共享,2- .Net 标准。

我都尝试过。一点是,我还没有找到包含我在旧项目之一中找到的诸如 .Shared.Portable 之类的名称的库。

这是比较。请建议我应该为下一个项目创建哪种类型的项目。

enter image description here

谢谢。

最佳答案

最终归结为品味问题。主要区别是

  • 共享项目包含在您的平台项目中,就好像源代码文件是项目本身的一部分
  • .NET 标准项目被编译为自己的程序集

.NET Standard 取代了可移植类库。后者已被弃用,不应再使用。无论如何,没有理由这样做,因为 .NET Standard 更方便并且支持 .NET 的更大子集(实际上 - 取决于 PCL 配置文件,但与 Xamarin 兼容的一个非常有限,例如很少支持来自 System.IO 的类)。

.NET Standard 和共享项目各有利弊。在共享项目中,您可以直接在平台项目中使用类(无论如何,如果您尝试开发 SOLID 代码,这可能是不可取的),但您必须使用 #ifdef 才能使用代码仅与其中一种平台兼容。使用 .NET Standard,您可能需要编写包含平台相关代码的类两次,并通过 DependencyService 加载它们,或者更好的是,通过成熟的 IoC 容器加载它们,但因此它们更干净,关注点也更好地分离.

在 PCL 时代,有充分的理由采取混合方式,例如使用直接在平台项目中编译的类中的 System.IO.File ,因为两者都支持它,但 PCL Xamarin Profile 不支持,但对于 .NET Standard,这不再是必要的.

出于上述原因,我总是会选择 .NET Standard 库。

关于xamarin.forms - 我应该为 Xamarin.Form 创建什么样的项目(共享或 .Net 标准)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50226427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com