为Objective-C和Java编写通用代码的最佳方法?
我正在同时为Android和iOS开发本机应用程序。我知道没有“好”的方法可以一次性编写代码并在两个平台上运行——技术上是的,我可以使用Phonegap,但从用户的角度来看,由于平台的差异,他们不会觉得自己是本地应用为Objective-C和Java编写通用代码的最佳方法?,java,objective-c,Java,Objective C,我正在同时为Android和iOS开发本机应用程序。我知道没有“好”的方法可以一次性编写代码并在两个平台上运行——技术上是的,我可以使用Phonegap,但从用户的角度来看,由于平台的差异,他们不会觉得自己是本地应用 但有没有办法在两个平台之间共享控制器代码的子集?我说的是“不可见”代码,即与(直接)绘制UI无关的代码,不使用iOS和Android框架。例如,如果我正在开发《愤怒的小鸟》,那么实现控制小鸟飞行轨迹的物理方程的最佳方法是什么?如何在两个平台之间最好地共享此类代码?我所说的“最佳”是
但有没有办法在两个平台之间共享控制器代码的子集?我说的是“不可见”代码,即与(直接)绘制UI无关的代码,不使用iOS和Android框架。例如,如果我正在开发《愤怒的小鸟》,那么实现控制小鸟飞行轨迹的物理方程的最佳方法是什么?如何在两个平台之间最好地共享此类代码?我所说的“最佳”是指如何1)最大限度地缩短开发时间,2)简化维护,3)简化未来的升级。用C写可能就是答案 Objective C只是C的超集,您可以将模型层编写为C函数的包装器 据介绍,您可以在Android中使用JNI做一些非常类似的事情 正如您所说,这仅适用于模型层。您必须在iOS中为视图和控制器层编写Objective C,在Android上也会遇到同样的情况。选项我看到:
本机代码仅在windows phone 8上受支持。好吧,愤怒的小鸟是用Lua编写的。愤怒的小鸟使用Lua作为存储变量的配置文件。对于每个级别,它们存储元素的位置。但是所有的逻辑和物理计算、渲染、声音都是用本机代码完成的,我想C/C++
用C/C++[…]编写代码,这意味着所有操作系统都支持它
-WinPhone 7允许执行本机代码吗?我以为他们不支持,但可能已经改变了这种立场。你是对的,windows phone 7不支持本机代码,但windows phone 8支持本机代码。@victor。你不知道在为iOS、Android和windows phone编写通用本机代码时有何限制吗?我要说的是支持哪些库,是支持所有的Android还是只支持一个子集?黑莓呢?在IOS上我没有遇到任何问题,它的集成非常好,因为objective-c基于c。在Android上,你可以使用NDK编译本机代码。我不确定旧的黑莓设备,但在新设备上可以使用原生SDK。在windows phone上,版本8支持此功能。