javascript - Websocket API 取代 REST API?

标签 javascript rest node.js websocket

我有一个应用程序,其主要功能通过 websockets 或长轮询实时工作。

然而,大部分网站都是以 RESTful 方式编写的,这对 future 的应用程序和其他客户端来说非常有用。但是,我正在考虑为所有站点功能转换到 websocket API,而不是 REST。这将使我更容易将实时功能集成到网站的所有部分。这会使构建应用程序或移动客户端变得更加困难吗?

我发现有些人已经在做这样的事情了:SocketStream

最佳答案

并不是说这里的其他答案没有优点,它们提出了一些好处。但是我将违背普遍的共识并同意你的观点,即转向 websockets 不仅仅是为了实时功能是非常有吸引力的。

我正在认真考虑通过 websockets 将我的应用程序从 RESTful 架构迁移到更多的 RPC 样式。这不是一个“玩具应用”,我说的不仅仅是实时功能,所以我有保留。但我看到走这条路有很多好处,并觉得它可能会成为一个特殊的解决方案。

我的计划是使用 DNode , SocketIO , 和 Backbone .使用这些工具,我的 Backbone 模型和集合可以通过简单地调用 RPC 样式的函数在客户端和服务器之间传递。不再需要管理 REST 端点、序列化/反序列化对象等等。我还没有使用过 socketstream,但它看起来值得一试。

我还有很长的路要走,才能明确地说这是一个很好的解决方案,而且我确信它不是每个应用程序的最佳解决方案,但我相信这种组合会非常强大.我承认有一些缺点,比如失去缓存资源的能力。但我有一种感觉,优势将超过它们。

我有兴趣关注您探索此类解决方案的进展。如果你有任何 github 实验,请指点我。我还没有,但希望很快。

下面是我一直在收集的待读链接列表。我不能保证它们都是值得的,因为我只浏览了其中的许多。但希望有些人会有所帮助。


关于在 Express 中使用 Socket.IO 的精彩教程。它向 socket.io 公开了 express session ,并讨论了如何为每个经过身份验证的用户提供不同的房间。

关于 node.js/socket.io/backbone.js/express/connect/jade/redis 的教程,包括身份验证、Joyent 托管等:

在 Backbone.js 中使用 Pusher 的教程(使用 Rails):

在客户端使用backbone.js 构建应用程序,在服务器上使用express、socket.io、dnode 构建node.js。

在 DNode 中使用 Backbone:

关于javascript - Websocket API 取代 REST API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6806263/

相关文章:

javascript - Angular.js - 向指令发出周期性事件

javascript - 如何显示闪烁的光标?

php - 使用 PHP 的基本 RESTful API 示例

node.js - 可以从node.js中的子进程中独立读取每个标准输出刷新的字符串

javascript - 将 ajax 转换为 Node.js

mysql - 处理 Disconnect Express JS Throw Error Access Denied for user localhost

javascript - 如何避免 RegExp 在 next.js 中删除 `u`

javascript - Bing map /如何获取地理服务器功能信息的 bbox 值

rest - 如何在laravel api客户端上使用模型进行api调用?

ruby-on-rails - ActiveResource 模型可以与 ActiveRecord 模型集成吗?