如何通过C++后端将Qt qml移植到web服务器
How to port Qt qml to web server with C++ backend
是否可以用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有点正交,javascript只能与现有的图形对象进行交互(或实例化)。在浏览器中,图形由html/css/svg/dom描述,并由用C++编写的web引擎进行解释。在QtQuick中,图形是用Qml编写的,并由用C++编写的Qml引擎(场景图)进行解释。
这两个堆栈完全不同。
Html画布和Qml画布(它们几乎共享相同的api)出现异常。但这些都是以即时模式工作的图形(而不是以保留模式工作的SVG或Qml场景图)。
<小时>话虽如此。。。
有3次尝试将Qml端口到web:
- 谷歌Nacl的Qt端口(很久没听说过,很可能已经死了)
- 通过Emscripten/asm.js的Qt端口(很棒的项目,但不适用于生产,我认为QtQuick甚至不受支持…可能需要付出巨大的努力才能积极维护)
- QmlWeb(用于翻译Qml文件并解释HTML5堆栈之上的文件的Javascript api)。工作正在进行中,从长远来看,可能只支持整个QtQuick生态系统的一个子集。但这仍然是一个非常有趣的项目,也许是这三个项目中最有希望的。至少,它是最年轻的一个,它可能会得到KDE社区的一些支持。http://akreuzkamp.de/2013/07/10/webapps-written-in-qml-not-far-from-reality-anymore/
您可能还对web堆栈顶部的其他场景技术感兴趣(amino、cake.js、rapahel.js…)
最后但同样重要的是,你可能对Wt感兴趣(http://www.webtoolkit.eu/wt)。
小时>否。您不能编译QML,而且在任何形式下都不能将其部署到JBoss等Java应用程序服务器上。Qml严格用于创建要在本地机器上运行的应用程序。听起来你想用HTML构建一个Web应用程序,它有一些后端,比如.Net。
- 来自带有mbedtls TLS的Mongoose Web服务器的错误消息
- 使用 ESP8266/8285 将字符串从 Web 服务器转换为字节数组
- 可能在OpenShift3上部署C Web服务器
- 无法从Web服务器读取UTF-8缓冲区
- 有没有人知道如何终止ESP8266 http Web服务器/接入点
- 封装ESP8266 Web服务器的粘合剂功能
- 从QT Web服务器处理多个客户端
- web服务器如何知道何时完全接收到HTTP请求
- 示例web服务器和endianness
- 如何在web服务器中使用c++应用程序
- C++中的多线程 Web 服务器
- Web 服务器缓冲区
- PHP Web服务器集成到本地运行的C++exe?他们是如何互动的
- 将我的简单winsock服务器/客户端应用程序变形为简单的Web服务器
- c++的简单Web服务器
- php自定义C++模块通过命令行工作,而不是在Web服务器上
- 在 Linux 中用C++编写的 Web 服务器/Web 服务
- 客户端身份验证或与Mongoose Web服务器的相互身份验证
- 在 Web 服务器中 utf-8 和 unicode 之间进行转换
- C++ 将请求发送到 Web 服务器上的 API,然后接收 JSON 数组响应