简而言之:在iPhone和Android版本之间共享/重用代码的最有效方式是什么?

我认为最常见的两种情况是:

  1. Blank slate新项目,提前知道每个设备上都需要运行大量可重用逻辑.
  2. 现有的iPhone代码库,移植C、C++和Objto-C到Android NDK或其他方式.

是的,当然,在一个完美的世界里,所有的应用程序都会插入神奇的云,所有可重用的逻辑都会出现在谷歌应用程序引擎或一些web服务中,但这不是这个问题的核心.在经历了从iPhone到Android的移植,完全没有代码重用的二手体验,看到了这个人不得不忍受的痛苦之后,我想知道其他人是如何避免它的.

推荐答案

根据我的经验,您可以使用Android NDK编译C和C++,因此如果您在iPhone中使用iPhone Obj+C++(.mm)绑定来在C++/C引擎中使用,那么在Android中,java绑定使用到同一个引擎,它应该是完全可能的.

所以C++/C引擎(Android和iPhone的代码库几乎相同)+瘦绑定层=可移植代码.

Objective-c相关问答推荐

iOS 7 表格视图无法自动调整内容插入

将 NSMutableAttributedString 转换为 NSString

如何获取 NSDictionary 中的第一个元素?

Objective-C 和 Cocoa 有什么区别?

碰撞技术如何运作?

如何获取 NSArray 的最后一个对象

如何在 iOS SDK 中使用语音识别?

判断对象是 NSArray 还是 NSDictionary

在运行时判断 iOS 版本?

NSString:从字符串中删除 UTF-8 重音的简单方法?

我如何使用 initWithCoder 方法?

未知类型名称类;您指的是 'Class' 吗?

Objective-C 实例变量?

如何在表格视图中的两个单元格之间留出空间?

如何将@selector 作为参数传递?

仅在 UIView 顶部的圆角

通过索引访问 NSMutableDictionary 中的对象

无法在导航栏中心设置titleView,因为返回按钮

[NSMutableArray array] 与 [[NSMutableArray alloc] init] 之间的区别

如何删除 UIToolBar 上的顶部边框