【问题标题】:Recommendation for converting from Qt app to Web app从 Qt 应用程序转换为 Web 应用程序的建议
【发布时间】:2012-10-23 20:27:19
【问题描述】:

我目前有一个基于 Qt 的 GUI 应用程序,它简单地提供了一个图形仪表板(指标、图表等),显示另一个应用程序通过 TCP 连接提供的实时数据。出于架构和安全原因,我被告知不再允许我的 TCP 连接,并且 HTTPS websocket 将是我唯一的管道。有人建议我使用 HTML5 和 Javascript 将我的应用程序转换为网络应用程序。但是,我不是网络程序员,但可能会认为这是学习新技术的机会。在做出决定之前,我想更好地了解情况。所以,我认为我的选择是:

  1. 将我的应用程序转换为网络应用程序,为我提供基于网络的应用程序的所有优点/缺点。对我来说还有更多的工作,因为它是一项新技术,而且我已经让 Qt/TCP 版本运行良好。如果这是建议的方法,任何有关开发环境/工具的建议都将不胜感激。

  2. 将我当前的 Qt 应用程序转换为客户端 HTTPS 连接而不是 TCP 连接。不确定这是可能的。从我读过的内容来看,QtWebKit 可能无法做到这一点。看起来很奇怪?

也许我没有考虑其他选择?

【问题讨论】:

    标签: javascript html qt wt


    【解决方案1】:

    您还可以使用混合方法,使用 WT 库。它基于 c++(和 QT 启发)。 它有一个不错的工具包并支持 websockets。

    http://www.webtoolkit.eu/wt/examples/

    【讨论】:

    • Wt 基于 Boost,而不是 Qt。考虑到 Wt 在 C++ 中,它允许在移植时重用非 GUI 逻辑。但是 GUI 必须从头开始。而且它没有 LGPL 许可证。
    【解决方案2】:

    移植需要大量工作。在 Qt 方面,至少有两种 WebSockets 实现:

    1. QtWebSocket,基于 Qt 的 websocket 服务器实现和 websocket 客户端的 alpha 状态实现。
    2. WebSocket++,基于 Boost 的 websocket 服务器和客户端实现。

    【讨论】:

      【解决方案3】:

      我最近刚刚进行了类似的工作练习。我们决定使用 Google Web Toolkit (GWT) 框架来开发我们的 Web 应用程序。它完全基于 Java,这意味着您(几乎)用 Java 编写所有内容,GWT 编译器会为您将其转换为 Javascript。我们使用 GWT-EventService 插件将数据从服务器推送到客户端。

      我希望我在开始之前就知道这个 WT 库,这看起来很有趣。

      【讨论】:

      • 从 Qt 移植到 GWT 可能并不比从 Qt 移植到普通 Web 应用程序更容易。
      【解决方案4】:

      您还可以查看QWebSockets,这是一个纯 Qt 实现的 websockets,供客户端和服务器使用。

      更新:这个库现在是 Qt 的一个组成部分

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-07
        • 1970-01-01
        • 1970-01-01
        • 2012-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多