开发具有蓝牙支持的跨移动应用程序的最佳方法是什么?

时间:2012-10-01 16:12:25

标签: android ios java-me bluetooth cross-platform

我已经阅读了Phonegap here的原生功能支持。显然,它没有提到蓝牙支持。我找不到具有跨移动平台开发支持的任何其他平台,但未能找到。因此,我目前面临两个选择

  1. 为所有平台独立构建(非常痛苦的选择)

  2. 找到合适的跨平台开发解决方案(我还没有找到)。

  3. 我的问题是;对于那里的移动开发者,你建议我选择哪一个,这里没有列出?如果可能的话,也可以帮助详细说明利弊。

    非常感谢。

3 个答案:

答案 0 :(得分:7)

  

为所有平台独立构建(非常痛苦的选择)

根据我的经验,这是最少的痛苦的选择,而不仅仅是蓝牙。处理泄漏的跨平台抽象的开销往往超过了您获得真实的生产产品时的好处。构建一个优秀的iPhone应用程序构建优秀的Android应用程序。您可以分享很多UI设计(尽管不是全部)。您可以共享大部分数据结构设计。您可以共享一些内部架构。您可以共享任何网络协议(特别是如果您使用JSON设计它们)。但是避免代码共享,避免为最不常见的分母拍摄。它差不多......

对于某些类型的项目,在平台之间共享一些C ++代码是有意义的。尝试用JavaScript开发这些东西是一个令人沮丧的方法,当你超越最基本的应用程序。在移动JavaScript中很容易破解某种有用的东西。很难让它在所有平台上都能看起来和工作得很好;比起在本地编写它们要困难得多。

关于此的更多讨论:

答案 1 :(得分:3)

您将iOS列为所需平台之一。在iOS上,任何通用蓝牙通信(蓝牙LE除外或通过Gamekit,耳机或键盘进行通信)仅适用于Apple MFi计划许可证持有者。要获得有关此许可证的任何详细信息,您需要先申请Apple的MFi计划。 AFAIK,没有第三方或跨平台工具链可以帮助您实现iOS。

答案 2 :(得分:0)

我不相信OP正在谈论iOS应用程序到设备通信,而是点对点蓝牙通信。 Apple MFi计划许可的要求是否适用?

如果是这样,对等的蓝牙API(和硬件),例如Android或Windows Phone 8是否与iOS兼容?如果它们是,那么不应该通过JSON传递数据对于构建跨移动应用程序是否相当直接?

恕我直言,对于简单的商业应用程序,如果您想充分利用每个平台上的可用资源并符合其不同的UI设计原则,那么为每个平台构建本机应用程序是可行的。