我正在开发一个与蓝牙LE设备通信的应用程序。 我想要一种方式来避免为iOS和Android分别开发它。 是否有跨平台应用程序框架支持蓝牙LE并且支持良好?
我已经快速查看了像Cordova(PhoneGap),Appcelerator,Xamarin等框架(一般都会使用例如这个列表),但我无法确定它们是否在每个平台上都支持蓝牙LE,并且如果他们确实支持,是通过本机调用(如何访问?)还是通过对本机API的某种包装器(包装器是什么样子?),以及如果是包装器,则其完整性和稳定性如何。
如果您有这方面的经验,能否总结不同框架中蓝牙LE支持的状态?
编辑 从挖掘各种选项以及以下答案中提取一些信息:
Cordova:几个开源插件,例如https://github.com/evothings/cordova-ble https://github.com/don/cordova-plugin-ble-central https://github.com/randdusing/BluetoothLE(不是完整列表)。 Evothings 是一个很好的 Cordova + 蓝牙设置。这些是否在其他基于 Cordova 的应用程序框架中起作用,例如 Appery.io、Telerik AppBuilder、Ionic Creator?
Xamarin:这只是通过MonoTouch.CoreBluetooth 和Android.Bluetooth使用本机API。这意味着使用它们的代码实际上并不跨平台,但它们可能与本机API相同(因为它们本质上就是本机API)。
另外,除了蓝牙外,我的需求非常简单:这个应用程序将有很多UI元素,但不是很复杂,只是在许多不同屏幕上放置一堆按钮/复选框/滑块(在两个平台上维护起来非常繁琐)。我还需要对REST API进行一些调用。速度并不是特别重要,应用逻辑不太复杂(大部分现在都是用C编写),原生UI外观也不是那么重要。但重要的是能够在旧版本的平台上运行,最好能够向后兼容到Android 4.3和iOS 7.0。