问题 HTML5 / javascript X11服务器?


我们有一个消耗大量数据的应用程序。目前是桌面应用,但我们希望通过浏览器提供。

创建一个我们需要传输用于可视化的数据的Web应用程序对我来说没有意义。

我们正在研究RDP和一些通过完全javascript客户端提供RDP访问的产品。它们似乎与我们的应用程序配合得很好,但我一直在考虑离开Windows需要什么。

切换前端以便它可以在Linux下运行并不是微不足道的,但并非不可能,所以主要的绊脚石就是交付。

我想知道是否有任何X11 javascript服务器,但没有找到任何线索。


2944
2017-10-24 04:29


起源

您的桌面应用程序是用哪种工具包编写的(Qt,GTK,还有其他什么?)? - Basile Starynkevitch
现在它是使用WTL用C ++编写的Windows应用程序,但我们不反对使用Qt或GTK进行重写。这有什么不同? - bpeikes


答案:


AFAIK,最近 GTK 已被移植到HTML5 + Javascript中 Gtk百老汇

您可以将应用程序设置为Web应用程序,例如使用 重量,或通过专门的HTTP服务器库使其成为HTTP服务器 libonionlibmicrohttpd 等等

通过使用 AJAX 技术(例如通过 jQuery的)您的应用程序不会立即将所有显示数据传输到浏览器(但只是递增地,只有实际显示的数据)。

你也可以考虑一下 FastCGI的 作为将应用程序连接到某个Web服务器的方法。


4
2017-10-24 04:51



看看GTK,看起来很有趣,但看起来不够稳定,看起来它似乎也不能用作企业解决方案。我不确定Wt,libonion或libmicorhttpd如何回答我的问题。我不打算将我的应用程序作为Web服务器运行。 - bpeikes
GTK本身用于Gnome。我很惊讶你称它不够稳定。许多Linux桌面都是基于GTK的! - Basile Starynkevitch
我不是说GTK不稳定。百老汇的HTML5支持相当新颖。它也没有通过Web启动应用程序或运行同一应用程序的多个实例作为单个服务器的框架(据我所知)。 - bpeikes
developer.gnome.org/gtk3/stable/gtk-broadway.html 有一个解释如何做到这一点。基本上设置查询服务器的起始页,然后服务器确定下一个可用端口,运行命令并将客户端重定向到适当的端口(每个网络设备可以承载超过50k的客户端)。 - technosaurus


您可以使用HTML5 VNC查看器 https://github.com/kanaka/noVNC 再加上像VNC这样的服务器 RealVNC公司


4
2017-10-24 05:03



VNC的问题在于它是基于桌面的,据我所知。我们正在寻找更像RDP Remote App或X11的东西,它允许在浏览器中显示单个应用程序。 - bpeikes


我知道两个,都处于起步阶段:

https://github.com/GothAck/javascript-x-server

https://github.com/ttaubert/x-server-js

两者都需要简单的tcp-to-websockets代理,但所有X11逻辑都发生在网页内部,所有x11对象都存在并在浏览器中进行交互(因此它不仅仅是远程帧缓冲而是真正的服务器)


2
2017-07-29 00:12



这些都没有进行过。我正在寻找在生产环境中使用的产品或开源项目。 - bpeikes
刚刚检查过,这两个似乎都被抛弃了: javascript-x-server 最后更新2年前, x-server-js 4年前 :-( - Laryx Decidua


对于非常简单的应用程序,您可以使用libgreattao工具包和tao-network-client连接到它。我是这两个项目的作者。 API尚未冻结,但它表现得相当稳定。你可以在这里读到它: https://nintyfan.wordpress.com/2015/04/30/server-buildin-into-libgreattao-and-tao-network-client/

它可以为具有大量数据的应用程序提供一些问题,因为所有元素必须在创建时发送到客户端,而是我们不发送完整图形(仅发送图标)并且可以快速更改用户界面。它也不支持鼠标进入/离开/移动事件。

我必须告诉:不要下载tarbar,而是从svn下载版本。


0
2018-05-02 07:43





听起来最简单的方法是获取xrdp,它是X的RDP服务器。然后你将使用你的RDP客户端连接它。我认为Nomachine NX现在直接支持html,但我不确定。有人谈到了一个HTML X2go客户端,但我对此也一无所知。


0
2017-08-04 22:33





使用xpra的内置 html5客户端,它支持您可以在X11桌面上运行的任何应用程序。


0
2018-06-12 19:14