为所有平台单独构建(非常痛苦的选项)
寻找合适的跨平台开发解决方案(尚未找到)。
非常感谢。
为所有平台单独构建(非常痛苦的选项)
寻找合适的跨平台开发解决方案(尚未找到)。
独立为所有平台构建(非常麻烦的选项)
根据我的经验,这绝对是最不痛苦的选项,不仅适用于蓝牙。处理泄漏跨平台抽象的开销往往会超过实际生产产品的好处。构建一个出色的iPhone应用程序。构建一个出色的Android应用程序。您可以共享大部分UI设计(尽管不是全部)。您可以共享大部分数据结构设计。您可以共享一些内部架构。您可以共享任何网络协议(特别是如果您使用JSON进行设计)。但是避免代码共享并避免追求最低公共分母。它相当低....
对于某些项目类型,分享一些平台之间的C++代码是有意义的。试图在JavaScript中开发此类内容将导致沮丧,一旦您超越了最基本的应用程序,就会变得更加困难。在移动JavaScript中轻松地创建某些东西,使其基本正常工作很容易。要使其在所有平台上看起来和运行良好,则非常困难;比起一开始就以本机方式编写它们要困难得多。
关于此的更多讨论:
您将iOS列为所需平台之一。在iOS上,除了蓝牙LE或通过Gamekit、耳机或键盘进行通信之外,任何通用蓝牙通信只对苹果MFi计划许可证持有人开放。要获取有关此许可的任何详细信息,您需要先申请苹果的MFi计划。据我所知,没有第三方或跨平台工具链可以帮助您处理iOS相关问题。
我认为OP所说的不是iOS应用程序与设备之间的通信,而是点对点蓝牙通信。那么苹果MFi计划许可的要求是否适用?
如果是这样,那么Android或Windows Phone 8上的点对点蓝牙API(和硬件)是否与iOS的API兼容?如果它们是兼容的,那么通过JSON传递数据对于构建跨移动应用程序来说应该是相当简单的。
在我看来,对于简单的商业应用程序,如果您想充分利用每个平台上可用的资源并符合它们不同的UI设计原则,则构建每个平台的本机应用程序是正确的选择。