【发布时间】:2014-08-09 19:25:49
【问题描述】:
我有这个要求,我在突破客户端技术方面不是很成功。希望有人可能已经解决了这种关于我不想再次打破我的头并浪费我的时间的难题。
我的要求是:
- 我有一个服务器,它有一个数据处理引擎,它将提供 平均每 30 秒创建一个数据库。
- 我需要一个客户端 Web 应用程序,我想在其中绘制一些图形 根据我的服务器引擎生成的数据。
- 我可以找到适合我的绘图要求的库 (Flotr2)
- 我已经为我的后端数据设置了一个带有 socket.io comm 的 Node.js 服务器 流媒体。
我可以简单地使用纯js监听socket并调用函数来绘制图形。
但是,我的应用程序必须是高度可配置的。我希望数据库中的多列数据在单个图表上绘制以满足我的要求(这意味着单个元素上有多个值)。
如果我使用纯 JavaScript 实现我的客户端,在某些时候我的代码将变得不可维护,而且我可能会重新发明现有的轮子。
所以,我正在寻找用于数据绑定的客户端库(一个值到一个元素,多个值到单个元素,多个值到多个元素)
我基本上是一个后端和移动的人,但不是 JS 人。我浏览了网页,得到了一些使用 Knockout.Js、Angular.js、Backbone.js、Meteor.js 的随机建议,我不能依赖它们。
编辑:
我已经尝试过使用 Knockout.js 进行客户端数据绑定。我坚持使用第二个和第三个用例(单个元素的多个值和多个元素的多个值)。
假设从服务器我得到 {"a":55,"b":5,"c":46} 作为数据。我有两个 HTML id 为“x”、“y”的元素。我想将值 a,b 绑定到元素“x”和 值 b,c 到元素“y”。是否可以?任何简单的小提琴都是 帮助很大。
那么,有人可以指出我正确的方向并在这里分享您的想法。
【问题讨论】:
-
这里我说的是大约。 50 个变量意味着 50 个键值对将以 30 秒的平均间隔传输。如果我使用 AJAX 会使我的服务器因轮询而崩溃。为了避免这种情况,我正在使用 Socket.Io,它将向我发送异步数据流,这意味着我将保存所有请求。这意味着我的服务器网络可以节省一半。希望我让你清楚我的想法。
-
好吧,如果你希望它是一个实时系统,你需要拥有基础设施
-
@Typo,我已经介绍了处理任何流量的服务器端基础设施。但同时我不应该吃掉我的访问者网络带宽。因此,对于您知道将有连续数据到来的实时流媒体,轮询将在用户网络上进行。因此,我们使用最新的 HTML5 功能(如 Socket.IO)进行数据流传输。我不太擅长浏览器端 javascript,是否需要帮助来选择框架来构建浏览器端应用程序。请检查我更新的问题。
标签: javascript node.js knockout.js streaming real-time