c# - 将 native 移动开发与 Xamarin 相结合

标签 c# xamarin.ios xamarin xamarin.android

假设我们已经为不同平台(iOS/Android/Winfon( future ))实现了移动应用程序。所有应用程序都有一些共同的业务逻辑。

例如,计算器应用程序:用户输入两个数字,我们的应用程序应该能够将它们相加。因此,在每个应用程序中,我们都会有一些类来进行添加。像这样的东西(用 C# 编写,仅供演示):

class CalculatorService
{
    public int Add(int value1, int value2)
    {
        return value1 + value2;
    }
}

每个应用程序都会重复此逻辑。我们的目标是避免此类重复。

经过一番研究,我提请注意 Xamarin。现在我想要一个使用 Xamarin 构建并用 C# 编写的库,可供不同的移动应用程序引用和使用。但我仍然不想将我的应用程序完全移植到 Xamarin(例如,我的计算器应用程序是由我的 friend 开发的,我想让他在这个新流程中保持忙碌)。

因此,简而言之:是否可以以 native 方式开发移动应用程序,但将业务逻辑移动到单独的 c#-xamarin 库?如果是,那么它会有多复杂?

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

最佳答案

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

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

Xamarin.iOS 和 Xamarin.Android 都支持使用自定义 native 库,您的工作流程是从 native 代码创建 native 库,然后在 Xamarin.iOS|Android 项目中使用。

Binding iOS libraries for Xamarin.iOS
Binding Android libraries for Xamarin.Android

关于c# - 将 native 移动开发与 Xamarin 相结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26119728/

相关文章:

c# - Xamarin.iOS系统异常

ios - 测试自动化工具以尝试 Xamarin 应用程序

c# - 将事务与任务并行库一起使用

c# - 如何获取自定义用户控件的 "typeof"

c# - 如何在 xaml 中创建 ListView 项

ios - 如何使用 SDK 版本 4.x 构建 MonoTouch 应用程序(不针对当前 sdk 的早期版本)

mvvm - 下拉刷新tableview

c# - 如何使用 Xamarin C# 获取手机屏幕尺寸?

c# - MvxTabBarViewController 作为第一个 ViewController 没有出现

c# - 从 .NET HashSet 按索引选择元素