我可以使用QML的Firebase吗?

我可以使用QML的Firebase吗?,qml,firebase,Qml,Firebase,Qml广泛使用Javascript Firebase为浏览器提供Javascript库 是否可以从QML使用Firebase? 欢迎提供任何具体细节。QML是QT的扩展,本质上是一个用于创建桌面/移动应用程序的跨平台工具,它不是一个web浏览器,也不会在浏览器环境中运行类似JavaScript的代码 因此,让Firebase的JavaScript SDK(预计将提供XmlHttpRequest、WebSocket、DOM和iFrame等API)正常运行似乎极不可能 由于FielBASE不提供C+

Qml广泛使用Javascript

Firebase为浏览器提供Javascript库

是否可以从QML使用Firebase?


欢迎提供任何具体细节。

QML是QT的扩展,本质上是一个用于创建桌面/移动应用程序的跨平台工具,它不是一个web浏览器,也不会在浏览器环境中运行类似JavaScript的代码

因此,让Firebase的JavaScript SDK(预计将提供XmlHttpRequest、WebSocket、DOM和iFrame等API)正常运行似乎极不可能

由于FielBASE不提供C++ SDK,所以从QML访问FielBase2的最好方法可能是利用社区实现的方式。



截至2016年底,a主要针对移动平台。目前,它只支持Firebase功能的一部分,并且正在积极开发中,可能会添加一些(如果不是全部的话)缺失的功能。

如果您打算创建移动应用程序,可以在应用程序中集成适用于安卓和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)
    }
  }
}

由于需要进行相当多的实现工作,因此上面的示例取自由提供的现成解决方案。可以找到更多的使用示例。

实际上QML有(没有同源强制,没有同步请求)。问题不是QML不能执行firebase.js所需的功能,而是firebase希望在浏览器中运行,并对可用的工具做出假设。如果你认为它应该工作的话,请随意进行测试。