Xamarin是Android和IOS长期运行服务的正确选择

时间:2016-07-06 21:42:35

标签: android xamarin xamarin.ios xamarin.android

我的具体任务要求我为Android编写一个长期运行的服务。该服务应该一直运行,除非用户专门关闭它。我能这样做。但是,我的一位经理建议我考虑使用Xamarin,以便我们也可以在Windows 10和iOS上运行此操作。我没有使用XamariniOS的经验,所以我很难找到使用Xamarin执行此特定任务的任何优势,除了代码库可能都在C#

1)是否有任何人在Xamarin中为多个操作系统编写此类服务的经验,如果有,您能提供任何见解吗?

2)我是否必须为该服务的Android,iOS和Windows实现编写单独的c#代码?

3)如果有任何令人信服的理由支持Xamarin执行此任务,请告诉我您的想法。

谢谢

1 个答案:

答案 0 :(得分:1)

Xamarin已将所有Android / iOS库移植到C#。因此,您可以使用C#语言编写代码,但Android服务仍然可以以相同的方式工作。

您基本上要做的是创建一个PCL代码(共享库),可以在iOS / Android等平台上使用。所有业务逻辑都在这个库中。确保没有任何特定于平台的代码。

现在,您将为Android和iOS创建单独的项目,这些项目将使用上述PCL库。这是特定于平台的非PCL代码。

  

例如:在Android Project中,您仍将使用    StartService(intent)启动服务但是说onHandleIntent(),您将调用PCL(共享库)代码。   我建议在需要时注入对PCL代码的依赖。

请注意:如果共享库中的代码行与平台特定代码相比要少得多,则选择Xamarin而不是原生代码是没有意义的。

相关问题