在我的应用程序中实现 Web Sockets 我很困惑哪个 gem 更好。我发现了很多不同的机会,但是,有些很难区分。
最后,我选择了 Action Cable(Rails 5 原生部分)和 Faye(出现得较早并且非常流行)。
但现在我被困住了——Action Cable 和 Faye 一样吗?哪些是差异(如果有的话)?
最佳答案
来自Faye网站: Faye 是一个基于 Bayeux 协议(protocol)的发布订阅消息系统。它为 Node.js 和 Ruby 提供消息服务器,以及在服务器和所有主要 Web 浏览器中使用的客户端。
来自 ActionCable 自述文件: Action Cable 将 WebSockets 与 Rails 应用程序的其余部分无缝集成。它允许以与 Rails 应用程序的其余部分相同的样式和形式用 Ruby 编写实时功能,同时仍然具有高性能和可扩展性。它是一个提供客户端 JavaScript 框架和服务器端 Ruby 框架的全栈产品。您可以访问使用 Active Record 或您选择的 ORM 编写的完整域模型。
简短的回答是肯定的,两者都是发布/订阅消息系统。
长答案是否定的,因为 faye 是一个低级工具,ActionCable 使用 faye (look here),至少是一些组件。
但是,使用 faye 或 ActionCable 构建应用程序(也许)不同的努力,您总是可以获得相同的结果。最大的不同是 Faye 作为基于机架的组件而不是基于 rails 的组件工作。
关于ruby-on-rails - Action Cable 和 Faye 一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42365327/