Javascript X Windows风格的JS用户界面客户端

Javascript X Windows风格的JS用户界面客户端,javascript,web-applications,graphics,raphael,x11,Javascript,Web Applications,Graphics,Raphael,X11,全部, 我已经有了一个想法:是否有一个标准的图形库/协议,比如针对HTML+JS的X Windows?我主要是一名桌面开发人员,在C#/WPF等技术方面有丰富经验,但我想分享我在网络革命中的一份经验 对我来说,大多数显示交互式应用程序的web技术与我所期望的即使是在速度较慢的计算机上的桌面应用程序相比,似乎过于专有、速度较慢或图形效果不佳。似乎如果有一种方法可以使用抽象的图形和用户输入层以及可靠的准双向通信,那么在几乎所有浏览器中显示真正的桌面应用程序就不会太难了 现在我要说的不仅仅是闲聊:我已

全部,

我已经有了一个想法:是否有一个标准的图形库/协议,比如针对HTML+JS的X Windows?我主要是一名桌面开发人员,在C#/WPF等技术方面有丰富经验,但我想分享我在网络革命中的一份经验

对我来说,大多数显示交互式应用程序的web技术与我所期望的即使是在速度较慢的计算机上的桌面应用程序相比,似乎过于专有、速度较慢或图形效果不佳。似乎如果有一种方法可以使用抽象的图形和用户输入层以及可靠的准双向通信,那么在几乎所有浏览器中显示真正的桌面应用程序就不会太难了

现在我要说的不仅仅是闲聊:我已经用WPF做了一点准备,开始在milcore层提取图形原语,并通过orbited和Raphael使用模拟套接字在web上推出这些原语,主要是作为一个有趣的黑客进行前端渲染。到目前为止还没那么难,所以我想一定是别人干的。WPF并不是每个人都喜欢的,但从另一方面来说,许多人可能希望有一种可靠的OOP语言,用一种标准化的图形协议将大部分后端内容编码到前端,而不仅仅是HTML/CSS


现在对我来说,这似乎是一件非常基本的事情——浏览器中的一个真正的图形化客户端,几乎所有浏览器上都有,无插件。我们的浏览器可以做所有这些高级的事情,播放音频和视频。我只想画可以改变的三角形。我想我只是错过了机会,正在重新发明方向盘。有人能给我指出一个已经做了这项工作的项目,这样我就可以制作一些很棒的web应用程序了吗?

如果我理解正确,您正在寻找一个库,它可以使组装UI的过程不需要HTML的零碎工作。好吧,值得一提的是显而易见的;除非在不久的将来发生激烈的事情,否则所有无插件的web应用程序最终都将基于HTML+JS。 Raphael是一个很好的工具,可以在所有浏览器上概括图形调用,提供一致的绘图API,但它本身并不是一个UI解决方案


您可能想看看extJs,它现在是的一部分。我自己也使用它作为一个相当复杂的内部BOM管理工具。它提供了大量现成的UI组件,非常类似于WPF。它还提供了一个集成的RPC机制,用于与服务器端逻辑集成。

您对运行时后端低级别控制感兴趣,这可能是一个阻碍,除非您能接受大量延迟

在web世界中,服务器和客户端之间的通信需要更长的时间。在桌面上,延迟不值得测量,但在web上,使用HTTP请求时,延迟是真实的、高度可变的,并且可能破坏用户体验

  • 客户端注意到一个用户单击并呼叫以让服务器知道(+50-500毫秒传输)
  • 服务器发现并发出指令,使三角形动画化(+100毫秒处理) (+50ms-500ms传输)
  • 客户端获取指令,设置三角形动画(用户感知的滞后:200ms到1100ms
  • 所以。。。我不确定您所考虑的确切架构在web上是否可行

    如果你重新审视一下你的假设,你的选择就会增加很多。例如,取消应用程序逻辑往返后端的要求将是非常自由的。请尝试以下对桌面范例的解释,以确定大小:

    • X-Windows→ 浏览器渲染引擎(最低级别的API,相当于硬件)
    • WPF→ SVG、Raphael、jQueryUI等(更高级别的绘图API)
    • C#应用逻辑→ 客户端JS逻辑()
    • 文件系统→ 带数据库的Web服务器
    有趣的问题

    有 有几家公司手头上没有这些名字,它们拥有运行良好的纯javascript RDP客户端。还有一个叫做鳄梨酱的开源项目,它可以讨论RDP和VNC

    您在具有远程桌面服务的计算机上运行他们的服务器,它充当“客户端”的WebSocket网关。工作得很漂亮。我们将把它用于一个有大量数据输入UI的应用程序

    想象一下,必须编写一个复杂的应用程序,它需要1000万个数据点,并允许您放大到任何缩放级别。创建一个web应用程序来实现这一点会浪费资源


    由于WebSocket现在在大多数浏览器中都可用,坦白地说,我很惊讶我很少看到这种情况。我敢肯定

    我想我不一定只是在寻找一个能让web上的UI变得更容易的库。其中有很多是存在的,其中许多是制作某种JS/HTML小部件的——Sencha也是这么做的?(HTML+remoting)如果您看看X Windows的功能,它定义了一个低级绘图规范,其中哑终端绘制从服务器接收的内容,并将用户输入等传回服务器。我认为类似的模型可以在这里工作:HTML/JS引擎只负责从服务器渲染绘图指令,并将用户输入路由回服务器。这有意义吗?我明白你的意思,但是我想知道你会从中得到什么样的表现。这意味着扔掉所有的核心HTML元素,用非常低级的调用来绘制UI。我还假设,这意味着UI事件处理也必须在服务器上完成。我对x windows的内部工作原理不太熟悉,不同的是,每当服务器脱离本地网络时,应用程序往往会变得迟钝。然而,用服务器端的方式来定义客户机肯定很好。+1问了一个稍微动摇了我的网络思维模式的问题(尽管我不能完全确定我是否理解它)。你在考虑网络浏览器吗