当前位置: 首页 > 面试题库 >

跨平台iPhone / Android代码共享

呼延俊良
2023-03-14
问题内容

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

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

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

当然,在完美的世界中,所有应用程序都只会插入神奇的云中,而所有可重用的逻辑都将出现在Google App
Engine或某些Web服务中,但这不是此问题的实质。在经历了iPhone移植到Android的过程,而所有二手代码都没有代码可重复使用,并且看到人们不得不忍受的痛苦之后,我想知道其他人如何避免使用它。


问题答案:

以我的经验,您可以使用Android NDK来编译C和C ,因此,如果您在iPhone中对C / C引擎使用iPhone Obj-C
++(.mm)绑定,而在Android中,您对同一引擎使用Java绑定,应该完全有可能。

因此,C ++ / C引擎(Android和iPhone几乎相同的代码库)+薄绑定层=可移植代码。



 类似资料:
  • 问题内容: http://conda.pydata.org/docs/using/envs.html上的conda文档介绍了如何与他人共享环境。 但是,文档告诉我们这不是跨平台的: 在一个平台(例如CentOS)和另一个平台(例如Windows)之间是否有共享和重新创建conda环境的好方法? 问题答案: 回答 假设您要确保通常关心的相同版本的软件包位于不同的平台上,并且不必关心整个依赖树中 所有

  • 概况 背景 Web本身就是跨平台的,这意味着这中间存在着无限的可能性。 我是一名Web Developer,对于我来能用Web开发的事情就用Web来完成就好了——不需要编译,不需要等它编译完。我想到哪我就可以写到哪,我改到哪我就可以发生哪发生了变化。 最近我在写Growth——一个帮助开发人员成长的应用,在近一个月的业余时间里,完成了这个应用的: 移动应用版:Android、Windows Pho

  • 多平台支持 Mpx支持在多个小程序平台中进行增强,目前支持的小程序平台包括微信,支付宝,百度,qq和头条,不过自2.0版本后,Mpx支持了以微信增强语法为base的跨平台输出,实现了一套业务源码在多端输出运行的能力,大大提升了多小程序平台业务的开发效率,详情可以查看template增强特性 不同平台上的模板增强指令按照平台的指令风格进行设计,文档和代码示例为了方便统一采用微信小程序下的书写方式。

  • 问题内容: py2exe很棒,每当我想打包一个要在Windows系统上运行的python程序时,我都会使用py2exe。 我的问题是,是否可以使用等效工具在Windows上打包程序,但是可以在Linux上运行? 问题答案: 好的,我已经做到了。这有点hacky,但是对于我的用例来说效果很好。 要点是使用ModuleFinder查找所有导入的模块,过滤掉所有系统模块,编译并压缩它们。 不幸的是,我的

  • 我需要在我的应用程序中为不同的标签指定不同的FontFamily。我需要使用默认字体(如Android的Roboto和iOS的Helvetica)及其修改(如轻、中、粗)。据我所知,我应该使用Roboto-Light和Helvetica-Light来获得字体的轻版本(中号和粗体相同)。除了这个需求之外,我还需要在XAML中设置字体(如文档中所描述的),所以我最终得到了以下代码 然而,在Androi

  • 作为第三代数据统计和分析平台,诸葛实现了对用户的实名(实账号)分析,并主张互联网产品分析以用户为中心的分析思想并提供了一系列方法论。对用户的唯一标识来源于企业自身数据库对用户的唯一识别符,也即诸葛底层数据采集是以用户为中心的采集,我们提供了跨平台分析版本, 满足企业以用户为中心的整体的分析需求,不同平台相同业务价值下的用户完整的故事解读(例如:分析电商的用户在PC端浏览产品,在移动端支付的转化率)