Qml广泛使用Javascript。
Firebase为浏览器提供了Javascript库。
是否可以使用QML中的Firebase?
欢迎任何具体细节。
答案 0 :(得分:2)
QML是QT的扩展,它本质上是一个用于创建桌面/移动应用程序的跨平台工具,它不是一个Web浏览器,也不会在浏览器环境中运行它类似JavaScript的代码。
因此,您可以获得Firebase的JavaScript SDK(希望通过XmlHttpRequest,WebSocket,DOM和iframe等API提供)以使其正常运行,这似乎非常不可能。
由于Firebase不提供C ++ SDK,因此从QML访问Firebase的最佳方法似乎是利用存在社区实施REST API的here。
截至2016年底,C++ SDK is now available,主要针对移动平台。目前,它仅支持Firebase功能的一个子集处于活动开发状态,并且可能会添加一些(如果不是全部)缺少的功能。
答案 1 :(得分:1)
如果您打算创建移动应用,可以在您的应用中集成适用于Android和iOS的可用本机Firebase SDK。
此解决方案需要本机Java和Obj-C代码才能与SDK一起使用。然后,您可以使用基于C ++的类型包装此代码,以公开QML的Firebase SDK功能。
这允许使用类似于QML的简单用法:
FirebaseDatabase {
id: firebaseDb
Component.onCompleted: getValue("public/path/to/my/object")
onReadCompleted: {
if(success) {
// parameter "value" can be a nested object/array, as read from your database
console.debug("Read value " + value.subarray[3].subproperty.text)
}
}
}
由于需要进行相当多的实施工作,上述示例取自V-Play Engine的现成解决方案。可以找到更多用法示例here。