在我的应用程序中实现Web套接字我对哪个宝石更好而感到困惑。我发现了很多不同的机会,但有些机会难以区分。
最后,我选择了Action Cable(一个Rails 5原生部分)和Faye(之前出现并且变得非常受欢迎)。
但现在我被卡住了 - Action Cable和Faye一样吗?哪些是差异(如果有的话)?
答案 0 :(得分:10)
来自Faye网站: Faye是一个基于Bayeux协议的发布 - 订阅消息系统。它为Node.js和Ruby提供消息服务器,并在服务器和所有主要Web浏览器中使用客户端。
来自ActionCable自述文件: Action Cable将WebSockets与其他Rails应用程序无缝集成。它允许以与Rails应用程序的其余部分相同的样式和形式在Ruby中编写实时功能,同时仍然具有高性能和可伸缩性。它是一个全栈产品,提供客户端JavaScript框架和服务器端Ruby框架。您可以访问使用Active Record或您选择的ORM编写的完整域模型。
简短回答是,两者都是发布/订阅消息系统。
长答案是否定的,因为faye是一个低级工具,ActionCable使用faye(look here),至少是一些组件。
但是你总是可以使用(可能)使用faye或ActionCable构建应用程序的不同努力获得相同的结果。最大的区别是Faye可以作为基于机架的组件,而不是基于轨道的组件。