我能否使用QML编写应用程序的前端,使用C++编写后端,并以某种方式进行编译,以便我可以将其部署到像Apache或JBoss这样的Web服务器上,以便可以从Web浏览器中访问?
如果可以,请问是否有任何示例可以执行此操作?
非常感谢您的回答 :)
我曾尝试在互联网上寻找答案,但没有成功。
QmlWeb是一个JavaScript库,能够解析QML代码,并使用普通的HTML / DOM元素和CSS中的绝对位置创建网站,将QML属性翻译成CSS属性。
QmlWeb是由Lauri Paimen主要开发了几年的小型项目,现在是由Anton Kreuzkamp维护的KDE项目。
当然,QmlWeb还不支持Qt的QML实现的所有功能,但它已经支持了相当可用的子集。它支持几乎所有基本的QML语法。此外,它还支持HTML输入元素(当前支持Button、TextInput、TextArea等,将来会支持更多)。
嗯,QmlWeb还没有完成。我希望Digia能够帮助这个项目进行完善并具备成熟的功能。
这段javascript代码目前在v8引擎上运行,用于表达复杂的绑定和一些(最好是小型的)客户端逻辑。但引擎可能会改变(http://blog.qt.digia.com/blog/2013/04/15/evolution-of-the-qml-engine-part-1/)。
就像在浏览器中一样,实际图形与javascript有点正交,它只能与已经存在的图形对象进行交互(或实例化)。在浏览器中,图形由html/css/svg/dom描述,并由用C++编写的Web引擎解释。在QtQuick中,图形是用Qml编写的,并由用C++编写的qml引擎(scengraph)解释。
这两个堆栈完全不同。
除了Html画布和Qml画布(几乎共享相同的api)之外。但这些都是以立即模式工作的图形(与以保留模式方式工作的SVG或Qml场景图相对)。
话虽如此...
有三种尝试将Qml移植到Web上:
您可能还对其他基于Web堆栈的场景图技术感兴趣(amino、cake.js、rapahel.js等)。
最后但并非最不重要的,您可能会对Wt(http://www.webtoolkit.eu/wt)感兴趣。