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

Xamarin.forms 我应该为Xamarin.Form(共享或.Net标准)创建什么样的项目?,xamarin.forms,xamarin.ios,xamarin.android,visual-studio-2017,Xamarin.forms,Xamarin.ios,Xamarin.android,Visual Studio 2017,我必须创建应用程序如下 1-应用程序应与Android和iOS配合使用 2-分辨率应支持移动和标签 3-数据存储在云上。因此,Restful API调用将用于 数据事务 4-可能存在用于配置设置的本地存储 5-可能有一些功能的本地代码,如实现城市航空通知,Facebook等 当我为Xamarin.Forms创建项目时,我有两个选项来创建应用程序: 1-共享,2-网络标准 我两个都试过了。一点是,我还没有找到包含像我在一个旧项目中找到的.Shared或.Portable这样的名称的库 这里是比较。

我必须创建应用程序如下

1-应用程序应与Android和iOS配合使用

2-分辨率应支持移动和标签

3-数据存储在云上。因此,Restful API调用将用于 数据事务

4-可能存在用于配置设置的本地存储

5-可能有一些功能的本地代码,如
实现城市航空通知
Facebook

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

1-共享,2-网络标准

我两个都试过了。一点是,我还没有找到包含像我在一个旧项目中找到的
.Shared
.Portable
这样的名称的库

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


谢谢。

.Net标准。是一种新的PCL。把它当作PCL来使用。

最后,它归结为一个味道的问题。主要区别在于

  • 共享项目包含在平台项目中,就好像源代码文件是项目本身的一部分一样
  • .NET标准项目被编译到它们自己的程序集中
.NET标准取代了可移植类库。后者已弃用,不应再使用。无论如何,没有理由这样做,因为.NET标准更加方便,并且支持.NET的更多子集(实际上,这取决于PCL配置文件,但与Xamarin兼容的配置文件非常有限,例如,
System.IO
中的类几乎不受支持)

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

在PCL时代,有很好的理由选择混合方式,例如使用平台项目中直接编译的类中的
System.IO.File
,因为两者都支持它,但PCL Xamarin概要文件不支持,但使用.NET标准,这不再必要了


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

.NET标准是未来的发展方向,所有插件和库迟早都需要遵循并支持它

与Xamarin forms 3.0的新预发行版一样:

我们现在使用.NET标准2.0构建,使用 多目标,同时仍支持PCL配置文件和其他 您可能需要的.NET标准版本。注意你的速度有多快 使用.NET标准项目类型时会加载项目


.NET标准将提供许多现成的功能。开发人员现在正在升级他们的解决方案和插件,以支持该标准。

请参见“谢谢”。所有PCL组件/概念/机制都将在我以前的一个项目中工作(在屏幕截图中给出)?是的。你不应该有任何问题。