Action Cable和Faye一样吗?

Ale*_*org 7 ruby-on-rails websocket faye actioncable

在我的应用程序中实现Web套接字我很困惑哪个gem更好.我发现了很多不同的机会,但有些机会难以区分.

最后,我选择了Action Cable(Rails 5本机部分)和Faye(之前出现并且变得非常受欢迎).

但现在我被卡住了 - Action Cable和Faye一样吗?哪些是差异(如果有的话)?

rog*_*lio 10

来自Faye网站: Faye是一个基于Bayeux协议的发布 - 订阅消息系统.它为Node.js和Ruby提供消息服务器,并在服务器和所有主要Web浏览器中使用客户端.

从ActionCable自述文件: Action Cable将WebSockets与其他Rails应用程序无缝集成.它允许以与Rails应用程序的其余部分相同的样式和形式在Ruby中编写实时功能,同时仍然具有高性能和可伸缩性.它是一个全栈产品,提供客户端JavaScript框架和服务器端Ruby框架.您可以访问使用Active Record或您选择的ORM编写的完整域模型.


简短回答是,两者都是发布/订阅消息系统.

很长的答案是否定的,因为faye是一个低级工具,ActionCable使用faye(看这里),至少是一些组件.

但是,您总是可以使用(可能)使用faye或ActionCable构建应用程序的不同工作获得相同的结果.最大的区别是Faye作为基于机架的组件而不是基于rails的组件.