关于c#:将原生移动开发与Xamarin相结合

Combine native mobile development with Xamarin

假设我们已经为不同的平台(iOS/android/winfon(未来))实施了移动应用程序。所有应用程序都有一些通用的业务逻辑。

例如,计算器应用程序:用户输入两位数字,我们的应用程序应该能够添加它们。所以在每个应用程序中,我们都会有一些类来进行添加。类似这样的东西(用C写只是为了演示):

1
2
3
4
5
6
7
class CalculatorService
{
    public int Add(int value1, int value2)
    {
        return value1 + value2;
    }
}

每个应用程序都将复制此逻辑。目标是避免这种重复。

经过一些研究,我把注意力吸引到了Xamarin身上。现在我想有一个用Xamarin构建并用C语言编写的库,它将被不同的移动应用程序引用和使用。但是,我仍然不想将我的应用程序完全移植到Xamarin(例如,我的计算器应用程序是由我的朋友开发的,我想让他在这个新的流程中忙碌)。

因此,简而言之:有没有可能以本机方式开发移动应用程序,但将业务逻辑转移到单独的C-Xamarin库中?如果是的话,它会有多复杂?

或者,如果我使用Xamarin,我注定要将现有的解决方案移植到C?


Xamarin提出的唯一技术要求是,应用程序的入口点必须是托管主方法(Xamarin提供本机主方法,并且需要在该点运行代码)。

一个极端的例子(但完全可能)是只有一个托管方法(main),它调用您自己的本地库来执行其他任何操作。

xamarin.ios和xamarin.android都支持使用自定义本机库,您的工作流程是从本机代码创建本机库,然后在xamarin.ios android项目中使用。

为xamarin.ios绑定iOS库为xamarin.android绑定android库