浏览器的实时UI同步库

Realtime UI synchronization library for browsers

本文关键字:同步 UI 实时 浏览器      更新时间:2023-09-26

有人能告诉我一个开源js库吗?它可以在浏览器之间实现实时UI同步,服务器之间有一个控件。

我检查了autobahn.ws实时ui同步,但它不是开源的。

它应该与所有浏览器兼容。

既然您指的是高速公路.ws,让我简要指出几点:

  • 实时UI同步非常适合WebSocket,因为WebSocket不仅具有非常低的下游延迟,而且具有非常低的上游延迟。特别是后者非常困难/几乎不可能使用当前的解决方案,如Comet、Ajax Push,您可以选择它
  • 使用WebSocket,您可以实现200µs(局域网)、10ms(同一城市,几跳)、30ms(同国)、150-200ms(跨海)、80-100ms(3.5G同国)或25ms(LTE,同国)的往返时间
  • 尽管Autobahn.ws(该设备)是商业化的,但底层技术(AutobahnPython、AutobahnJS、AutobahAndroid等)是完全开源的
  • Autobahn.ws(该设备)虽然是商业性的,但将有一个完全免费的版本,该版本的并发WebSocket连接数量有限
  • 我们网站上UI滑块演示的JS代码是50行。这真的很琐碎
  • 高速公路支持广泛的桌面和移动浏览器http://autobahn.ws/browsers

免责声明:我是《高速公路》的作者,为Tavendo工作。

  • sails.js是MVC天空中的一颗新星
  • 德比可能就是你想要的。它使用Racer,"Node.js的实时模型同步引擎"
  • 流星是另一种选择
  • 更低级别(通过使用web套接字)
    • SocketStream
    • 插座.io
    • 当然还有更多用于web套接字的.js库

关于比较的讨论在https://stackoverflow.com/questions/10374113/meteor-vs-derbyjs.对这三者进行比较的讨论正在https://stackoverflow.com/questions/11857367/socketstream-vs-derbyjs-vs-meteor.

只有手工制作的web套接字解决方案才能与Python后端兼容。由于这个问题被问得更一般,我还列出了包括后端的框架。

使用Ape。

http://www.ape-project.org/

它不会为您构建UI。这是你的工作。没有办法。你为Push构建数据,然后根据这些数据构建客户端。

为了与UI实时同步,您可以尝试HTML5功能。然而,它不会在所有浏览器中工作,我发布这篇文章供您参考:

http://dev.w3.org/html5/websockets/

http://dev.w3.org/html5/eventsource/

您会对这个答案感兴趣:https://stackoverflow.com/a/10950702/675065

它基本上是关于如何在Python中使用Websockets的总结。软件堆栈:

  1. SockJS(用于客户端处理)
  2. Tornado(作为sockjs服务器)
  3. Redis(适用于Pub/Sub)