Javascript 从ajax到websockets的重构:推荐模式和快速成功

Javascript 从ajax到websockets的重构:推荐模式和快速成功,javascript,ajax,design-patterns,websocket,Javascript,Ajax,Design Patterns,Websocket,我有一个单页应用程序,目前使用ajax和REST与服务器对话。我主要使用承诺和延迟来构建代码,并使用pubsub代理在组件之间进行通信。一般来说,代码的结构是遵循的 为了提高性能和便于开发,我想将至少一些与服务器的交互转移到WebSocket中。我计划更改为使用WebSocket的一些特定交互包括: 聊天功能 对长时间运行任务的反馈 更新当前查看对象的属性(例如,某人发布到与我当前渲染的对象相对应的REST端点) 我的问题是: 我还应该注意哪些其他快速的胜利(即websockets>>针对

我有一个单页应用程序,目前使用ajax和REST与服务器对话。我主要使用承诺和延迟来构建代码,并使用pubsub代理在组件之间进行通信。一般来说,代码的结构是遵循的

为了提高性能和便于开发,我想将至少一些与服务器的交互转移到WebSocket中。我计划更改为使用WebSocket的一些特定交互包括:

  • 聊天功能
  • 对长时间运行任务的反馈
  • 更新当前查看对象的属性(例如,某人发布到与我当前渲染的对象相对应的REST端点)
我的问题是:

  • 我还应该注意哪些其他快速的胜利(即websockets>>针对给定用例的ajax)
  • 在构造websocket代码时,什么最有帮助
  • 是否需要一些保持RESTful ajax调用的交互,或者是否有充分的理由使用100%的WebSocket
谢谢

编辑

Hera是我提交本文后发现的一些相关问题。这些与我问题的最后一部分(100%使用WebSocket是否有意义)关系最为密切


在我看来,能够在单个(基于WebSocket的)协议上同时执行PubSub和RPC具有协同效应、技术和概念优势。事实上,我们一直在开发并使用这样一个协议:

下面是的FAQ条目,它讲述了一个真实的战争故事:将基于Ajax的经典解决方案迁移到基于WebSocket的完整解决方案,该解决方案在WAMP上运行,并且


披露:我是WAMP、Autobahn和Crossbar.io的原作者,为Tavendo工作。

感谢您的回复-WAMP看起来确实很吸引人。将与服务器的对话结构化为使用RPC说话和使用PubSub倾听,这是很直观的。我将通过这篇博文了解更多信息。