可以为Windows,MacOS构建具有相同源代码的xamarin应用程序吗?

问题描述 投票:0回答:3

考虑到用C#为Xamarin编写的应用程序,它可以构建为在所有受支持的平台上运行而只需进行最小的更改,包括Android,iOS,MacOS,Windows吗?

我意识到Xamarin声称90%的代码在各个平台之间都是共享的(并且10%的代码需要自定义),我指的是“ 90%”。

我不明白这90%是否可以在不同的Xamarin工具之间共享,例如Xamarin.Forms和Xamarin.Mac,或者它们是使用不同API的实质上不同的工具,等等。

例如,我看到可以使用Xamarin.Forms为iOS,Android和Windows构建。但不是MacOS。因此,在Mac上,我可以安装Xamarin.Mac,然后为MacOS构建相同的应用程序吗?

xamarin platform
3个回答
1
投票

您当然可以为基于Xamarin.Forms的UI添加MacOS目标,这是通过Visual Studio for Mac完成的:

[Forms中的某些项目在MacOS上尚不完整,因此仍处于“预览”版本中,并且在“平台支持macOS状态” Wiki上列出了这些项目:


0
投票

Xamarin.Forms是允许您在Android,iOS和UWP之间创建跨平台应用程序的框架。以我的经验,Xamarin.Forms的许多功能不会转移到Xamarin.Android。实际上,UI Xamarin的大部分工作方式都不会转移到Xamarin.iOS和Xamarin.Android。在大多数情况下,当我找到适用于Xamarin.Forms的解决方案并尝试在Xamarin.Android中执行相同的操作时,我最终只是自己从头解决Xamarin.Android中的问题。

[当他们说90%是共享的时,它们意味着在Xamarin.Forms中...您可以在项目之间(在Xamarin.Forms解决方案内)共享模型和背后代码的90%的工作,必须针对每个平台(UWP,Android,iOS)进行量身定制]


0
投票

只要您使用.Net代码和Xamarin.Forms,它在每个项目中都是100%可移植/可共享的。 Xamarin.Forms当前处于macOS和Windows WPF(但不是UWP)的beta版本,特别是对于macOS,它们并没有真正的本机外观。

Xamarin确实支持使用本机接口和本机API,只要您这样做,它就不可移植。

因此没有90%的可共享性,在某些情况下可能是一些估计。它可以100%可共享,也可以仅10%可共享,具体取决于您的项目以及您对可共享API的坚持程度。

© www.soinside.com 2019 - 2024. All rights reserved.