【问题标题】:Do Any Client-Side JavaScript Frameworks Integrate Well With Node.js+Express.js+socket.io.js?任何客户端 JavaScript 框架都可以与 Node.js+Express.js+socket.io.js 很好地集成吗?
【发布时间】:2012-12-10 23:02:28
【问题描述】:

我正在后端使用 Node.js+Express.js+socket.io.js 构建一个 webapp。

任何流行的前端框架(Agility、Angular、Backbone、Closure、Dojo、Ember、GWT、jQuery、Knockback、Knockout、Spine、YUI 等)是否与此后端很好地集成以实现“实时”应用?

我希望我的应用程序具有非常“实时”的感觉。具体来说,当用户提交表单时,我希望使用 Web 套接字将信息发送到后端进行验证,并且(如果验证通过)在数据库中更新。然后,服务器端将使用 Web 套接字发送确认数据已保存或一些错误列表。我将使用服务器的响应来使用 JavaScript 更新页面。

我知道所有这些都可以使用任何列出的框架来完成。我对特定框架的特性感兴趣,这些特性将有助于框架与​​基于节点的后端比其他框架更好地集成。

【问题讨论】:

  • WebSockets 很酷,而且一切都很好,但如果你做得对,你可以从普通的旧 HTTP 获得非常高性能的“普通”应用程序。
  • 我可以说 Backbone、Knockout 和 CanJS 在这里做得很好。如果您使用 RESTfull JSON 后端,我认为使用您引用的任何这些都没有任何区别。
  • Seconding @Pointy - 您的应用程序很可能是 websockets 的一个很好的用例,但至少您在问题中描述的场景听起来像是 xmlhttprequest 的工作。这当然与您的问题无关,无论如何都必须去说。
  • 只是我偏好的一个注释:看看canjs.us。它快速、简单且可靠。

标签: javascript node.js backbone.js express ember.js


【解决方案1】:

Ember 也确实很合适。

请参阅 Charles Jolley 的 convoy,这对于客户端资产集成非常有帮助。

NPM 的 Ember 包还附带了一个示例应用程序,这可能是一个好的开始(基于 convoy)。

【讨论】:

    【解决方案2】:

    取决于应用程序和您的用例。我倾向于在服务器端生成 html,因此我仍然可以从 seo 中受益——在客户端的主干和其他富含 js 的框架具有无法被 Googlebot 抓取的不幸副作用。

    如果您需要身份验证才能使用您的应用程序,那么主干或 TODOMVC 展示的其他框架可能是一个很好的解决方案。

    通常在服务器端使用 socket.io 时,您也会在客户端使用它。

    【讨论】:

      【解决方案3】:

      我认为 angular.js 最适合实时应用程序。

      • 数据绑定和依赖注入
      • 测试工具
      • 轻松休息

      这是关于框架的some information。

      【讨论】:

      • 我发现 Angular 经常使用 express - 控制路由等(所以 express 只是为了提供静态服务) - 觉得很尴尬,但这就是我。
      猜你喜欢
      • 2012-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-06
      • 1970-01-01
      相关资源
      最近更新 更多