给出一个用C#为Xamarin编写的应用程序,它能在所有受支持的平台上运行吗?这些平台的变化很小,包括安卓、iOS、MacOS、Windows?
我意识到Xamarin声称90%的代码可以跨平台共享( 10%需要定制),我指的是"90%“。
我不明白的是,这90%是否可以在不同的Xamarin工具之间共享,例如Xamarin.Forms和Xamarin.Mac,或者如果这些工具具有不同的API,等等。
例如,我看到使用Xamarin.Forms可以为iOS、Android构建。但不是MacOS。所以,在Mac上,我可以安装Xamarin.Mac,然后为MacOS构建相同的应用程序吗?
发布于 2019-10-14 20:59:23
Xamarin.Forms是一个允许您在Android、iOS和UWP之间创建跨平台应用的框架。根据我的经验,Xamarin.Forms的许多特性并没有转移到Xamarin.Android。实际上,UI Xamarin.Forms的大部分工作方式不会转移到Xamarin.iOS和Xamarin.Android上。大多数情况下,当我找到一个在Xamarin.Forms中工作的解决方案,并且我试图在Xamarin.Android中做同样的事情时,我最终只会自己从零开始在Xamarin.Android中解决问题。
当他们说90%是共享的,他们的意思是在Xamarin.Forms.90%的模型和后面的代码可以在项目之间(在该Xamarin.Forms解决方案中)共享,10%的工作必须针对每个平台(UWP、Android、iOS)进行定制。
编辑:为了将来澄清起见,您需要一个iOS设备或一个iOS虚拟机来在iOS上编译代码。
要在
上使用VisualStudio2019构建Xamarin.iOS应用程序,您需要:
安装了Visual 2019的Windows机器。
这可以是物理机器,也可以是虚拟机。Windows系统要求
用苹果的构建工具和Xamarin.iOS建立的网络可访问的Mac。
VisualStudio2019通过网络连接访问此机器,以使用苹果的构建工具,这些工具是编译本机iOS应用程序所必需的。Mac系统要求
来源:https://learn.microsoft.com/en-us/xamarin/ios/get-started/installation/windows/?pivots=windows
发布于 2019-10-14 21:15:17
您可以为您的Xamarin.Forms-based UI添加一个-based目标,当然,这是通过Visual完成的:
表单中的一些项目在MacOS上没有完整的特性,因此它仍然处于“预览”版本中,这些项目列在“平台支持macOS状态”wiki上:
发布于 2019-10-14 22:47:12
只要您使用.Net代码和Xamarin.Forms,它在每个项目中都是100%的可移植/共享的。Xamarin.Forms目前处于macOS和Windows的beta版(但对于UWP来说不是beta版),特别是对于macOS来说,它们没有真正的本地外观。
Xamarin确实支持使用本机接口和本机API,而且无论何时这样做,它都是不可移植的。
因此,没有什么像90%的共享,这可能是一些情况下的一些估计。它可以是100%的共享,也可以是10%的共享,取决于您的项目和您对可共享API的坚持程度。
https://stackoverflow.com/questions/58383853
复制相似问题