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库