ボクココ

個人開発に関するテックブログ

Ruby on Rails でリアルタイムWeb

こんばんは。
Rails でリアルタイムを実現しようとしたときに選択肢はいくつかあります。
例えば今年のRailsConfで紹介されていたFirehose.io。 これのDEMOはなかなかイカしてます。
しかしながら、ドキュメントや信頼性があるPusherは僕にとってもっと魅力的でした。Herokuのアドオンも標準でついており、迷った挙句Pusherを使うことにしました。

Heroku x Pusher でチャット作成

https://devcenter.heroku.com/articles/pusher_tutorial
ここみれば大抵わかります。ちょっとだけ紹介すると、 Pusher はどれとどれをConnectするかをchannel を用いて決めているようです。 JSで指定した同じchannel内にいる人たちに通知を送ることができます。 Rails内で event を定義し、そのイベントが発生したら js 内でそのイベントをtriggerすることでその通知を受け取ることができます。後はAjaxっぽくコールバックを書き、その引数に格納されたデータから通知するなりなんなりをJSで書いていきます。これを使えば簡単にNotificationのアプリも作れそうですね。

Pusherは一度触っておいた方がいいです。ほんとこれは直ぐ作れて他のサービスと差別化を図るのにはもってこい。是非お試しあれ。