C++ HTML5桌面应用程序和C++;业务逻辑

C++ HTML5桌面应用程序和C++;业务逻辑,c++,html,websocket,C++,Html,Websocket,我有一个关于HTML5作为桌面应用程序替代品的问题 P. >目前,我公司在C++语言中用C++中的GUI开发了WinCE应用程序,通过Socket(C++ Windows App)接收和发送消息到业务逻辑层。 我们希望将此软件移植到Linux上,但要实现可交叉编译的软件。 整个应用程序在单个嵌入式PC(BL和GUI)上运行 关于表示层,我们正在研究HTML5可能的解决方案,但是我有一些疑问。 事实上,我读到一些浏览器支持web套接字的特性,但这类套接字似乎不是通用的TCP/UDP套接字,而是进

我有一个关于HTML5作为桌面应用程序替代品的问题

<> P. >目前,我公司在C++语言中用C++中的GUI开发了WinCE应用程序,通过Socket(C++ Windows App)接收和发送消息到业务逻辑层。 我们希望将此软件移植到Linux上,但要实现可交叉编译的软件。 整个应用程序在单个嵌入式PC(BL和GUI)上运行

关于表示层,我们正在研究HTML5可能的解决方案,但是我有一些疑问。 事实上,我读到一些浏览器支持web套接字的特性,但这类套接字似乎不是通用的TCP/UDP套接字,而是进一步专门化的,它们的实现是在服务器端类中提供的,比如Socket.IO(javae node.js)和Jetty(Java)

那么,是否有人可以向我提供一些反馈,告诉我如何/是否可以使用HTML5作为表示层,并通过套接字将更新从GUI发送/接收到与网页运行在同一主机上的应用程序

我希望这个问题符合stackexchange的“风格”和规则的要求,我尽我所能做到尽可能清楚。 顺致敬意,
Giovanni Parodi

没有什么能阻止您的前端和后端在同一主机上通过WebSocket通过环回进行对话

我假设你不愿意把你的后端移植到一种不同的语言上,所以你需要一个C++ WebSoCult实现。我还没有了解微软在这方面提供了什么,但在使用Boost/ASIO时,我建议您看看

此外,WebSocket的级别仍然相对较低(双向发送消息)。所以你可能想要更高层次的东西。您可能想看看,它为您提供了RPC和PubSub消息传递模式。使用此功能,您可以插入/交换您的前端(例如,使用本机Android)与相同的、未更改的后端对话-后端相同。脱钩

各种语言都有不同的定义和实现

顺便说一句:WebSocket受到Chrome、Firefox和IE(从版本10开始)以及其他浏览器的支持

我需要更多地了解具体的附带条件和要求,以便提供更多提示


披露:我是Autobahn,WAMP的原始作者,为Tavendo工作。

没有什么能阻止你让你的前端和后端在同一台主机上通过WebSocket进行环回对话

我假设你不愿意把你的后端移植到一种不同的语言上,所以你需要一个C++ WebSoCult实现。我还没有了解微软在这方面提供了什么,但在使用Boost/ASIO时,我建议您看看

此外,WebSocket的级别仍然相对较低(双向发送消息)。所以你可能想要更高层次的东西。您可能想看看,它为您提供了RPC和PubSub消息传递模式。使用此功能,您可以插入/交换您的前端(例如,使用本机Android)与相同的、未更改的后端对话-后端相同。脱钩

各种语言都有不同的定义和实现

顺便说一句:WebSocket受到Chrome、Firefox和IE(从版本10开始)以及其他浏览器的支持

我需要更多地了解具体的附带条件和要求,以便提供更多提示


披露:我是Autobahn,WAMP的原始作者,在Tavendo工作。

也许你可以在你的问题中添加一些标签(也许删除业务逻辑和表示层标签),以吸引那些标签后面的社区的注意。你能给我推荐一些更吸引人的标签吗?我不知道什么能更好地描述我的问题。再次感谢,祝大家愉快,因为我不熟悉你正在使用的工具,或者正在考虑使用的工具——除了C++。它有很多合格的追随者,你的问题与C++有一定的关系。也许你可以在你的问题中添加一些标签(也许删除商业逻辑和表示层标签)来吸引那些跟随TAGHI的社区的注意,你能给我一些更吸引人的标签吗?我不知道什么能更好地描述我的问题。再次感谢,祝大家愉快,因为我不熟悉你正在使用的工具,或者正在考虑使用的工具——除了C++。它有很多合格的追随者,你的问题与C++有一定的联系。嗨,Oberset,首先感谢你的有用反馈。你是对的,我应该保存已经在不同客户中测试过的业务逻辑部分。我需要udp/tcp套接字在用户每次选择按钮时从gui向BL发送自定义消息,并根据BL进程向gui升级消息。其他类型的网络消息直接从BL生成,不需要HTML5的特定协议支持。我的新问题,是关于调试工具,在VS中使用C++,我觉得调试HTML5会更难,你有没有关于这个话题的提示?调试HTML5/JavaScript比调试C++更容易。Chrome有一个内置功能:只需谷歌搜索Chrome开发者工具。Chrome内置了一个完整的调试器,带有断点、单步执行、bla-bla-bla。VS的最新版本对JS也有很好的支持。好消息,很抱歉我的回复太晚,但我今天不在办公室。很抱歉我的回复太晚,但我今天无法回复你的邮件。再次感谢你的帮助。因此,如果我理解了,一个好的方法,而不是本地C++跨平台应用程序(即QT-GUI)可以实现HTML5页面,并通过WebStuts++实现HTML5 GUI E+C++业务逻辑之间的交互。我不需要构建应用程序或web服务器,但您建议在linux上构建Boost并使用其websocket++实现。你能证实我是对的吗?很抱歉问了这么多问题,但我不是专家,所以我想要一个新的(最后一个)反馈。要给出一个彻底的答案真的很困难