我有一个应用程序,其主要功能通过WebSocket或长轮询实时工作.
然而,该网站的大部分内容都是以RESTful的方式编写的,这对应用程序和其他客户机来说是很好的.然而,我正在考虑将所有站点函数从REST转换为websocket API.这将使我更容易将实时功能集成到网站的所有部分.这会使构建应用程序或移动客户端变得更加困难吗?
我发现有些人已经在做这样的事情:SocketStream
我有一个应用程序,其主要功能通过WebSocket或长轮询实时工作.
然而,该网站的大部分内容都是以RESTful的方式编写的,这对应用程序和其他客户机来说是很好的.然而,我正在考虑将所有站点函数从REST转换为websocket API.这将使我更容易将实时功能集成到网站的所有部分.这会使构建应用程序或移动客户端变得更加困难吗?
我发现有些人已经在做这样的事情:SocketStream
不是说这里的其他答案没有价值,它们提出了一些好的观点.但我要反对大家的普遍共识,同意大家的看法,即转向websockets不仅仅是为了实时功能,这是非常有吸引力的.
我正在认真考虑通过websockets将我的应用程序从RESTful架构转移到更多RPC风格.这不是一个"玩具应用程序",我也不是说只有实时功能,所以我有预约.但我认为走这条路有很多好处,并认为这可能是一个例外的解决方案.
我的计划是使用DNode、SocketIO和Backbone.有了这些工具,我的主干模型和集合可以通过调用RPC风格的函数在客户机和服务器之间传递.不再需要管理REST端点、序列化/反序列化对象等等.我还没有使用socketstream,但它看起来值得一看.
在我可以肯定地说这是一个好的解决方案之前,我还有很长的路要走,而且我确信这不是适用于所有应用程序的最佳解决方案,但我相信这种组合将非常强大.我承认有一些缺点,比如失go 缓存资源的能力.但我有一种感觉,这种优势将超过它们.
我有兴趣关注你们探索这种解决方案的进展.如果你有任何github实验,请告诉我.我还没有,但希望很快能有.
下面是我一直收集的待阅读链接列表.我不能保证它们都是值得的,因为我只浏览了其中的很多.但希望有人能帮上忙.
关于使用套接字的很棒的教程.我是特快专递的.它向套接字公开express会话.io并讨论如何 for each 经过身份验证的用户设置不同的房间.
关于 node 的教程.js/socket.io/主干.js/express/connect/jade/redis,具有身份验证、Joyent托管等功能:
关于使用带主干的推进器的教程.js(使用Rails):
使用主干构建应用程序.客户端和 node 上的js.js和express、socket.io,服务器上的dnode.
使用带DNode的主干: