【问题标题】:Common code base across native iOS, Android and Windows Phone App跨原生 iOS、Android 和 Windows Phone 应用程序的通用代码库
【发布时间】:2013-12-24 01:43:23
【问题描述】:

是否可以将业务规则(无表示层)封装到一个通用代码库中,供原生 iOS、Android 和 Windows Phone 应用程序使用?换句话说,如果我正在编写一个要在所有移动平台上开发的游戏,我是否可以用 C 或 C++ 编写一个库来处理所有游戏规则(例如,这是一个有效的移动)并让所有平台都使用这个库(编译本机在每个客户端上)。请注意,这不适用于任何 UI/演示代码。而且我对使用任何跨平台开发工具(PhoneGap 等)都不感兴趣。

我的问题是,a) 这可能吗,b) 这可以用什么语言完成,c) 这是个好主意吗?虽然它会预先为每个客户端增加一些复杂性,但我认为随着时间的推移,它会大大减少要编写的代码量(更少的错误)和维护。

【问题讨论】:

  • C++ 可能是您唯一的选择。是的,你的假设是正确的(如果你做得对的话),它会在以后节省时间,但会立即增加时间。然而,让普通的 C++ 在 Windows Phone 上工作是一件很痛苦的事,所以要做好准备。不过,游戏是制作跨平台的最简单的程序之一,因为大多数平台都接受 OpenGL(似乎 Windows 移动产品除外),所以我也会考虑使用多平台游戏引擎。

标签: android ios windows-phone


【解决方案1】:

我能找到的两个答案是 C++ 和 JavaScript 作为所有三个平台都可以理解的语言。

C++:

JavaScript:

  • 所有支持都通过他们的浏览器小部件 (WebView),尽管我只是为了完整性而列出了这个。

我个人没有尝试在我的应用程序中包含 C++ 文件,所以我的范围很广,但功能似乎就在那里。不过,这似乎不是一个坏主意。从表面上看,执行业务逻辑的库似乎在任何平台上都不应该有很多麻烦,并且您可以确定所有平台始终保持同步。我要提防的一件事是性能。如果设置不正确,Android 和 Windows Phone 似乎可能会很慢。

【讨论】:

  • 谢谢@Hylianpuffball。这也与我的研究一致。我将把这个问题留得更久一点,看看是否有任何有实践经验的人回答。理论总是好的,但很想听听是否有人在这方面取得了成功(或灾难)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多