有没有一个抽象层,这样我就可以集成一次,然后使用pusher、pubnub或faye

Is there an abstraction layer so I can integrate once and use either pusher, pubnub, or faye?

本文关键字:然后 一次 pusher pubnub faye 抽象 有一个 集成 就可以      更新时间:2023-09-26

我正在考虑在我的rails 3应用程序中使用实时通知,但我希望能够从faye开始,如果速度开始成为问题,可能会在稍后切换pusher或pubnub。有什么宝石或什么东西可以帮我把它抽象出来吗?我想我还需要一些javascript,这样我才能真正在客户端进行更新。

为了实现这一点,您需要在两层进行抽象。

  1. 客户端,例如JavaScript
  2. 服务器,例如Ruby

我可以看到这一层中的值。然而,Pusher和PubNub API非常简单,因此它们之间的交换并不困难。也就是说,这些服务提供的功能存在一些差异,因此您无法抽象这些差异。不过,对于"用户提及通知和评论回复",你可以。

我曾研究过用chat-js在特定于领域的级别上构建抽象。它可能是一个有趣且相关的参考,尽管它现在只有一个PusherAdapter。