I haven’t had the opportunity yet to work with an app which required asynchronous updates to be pushed “live” to clients. Friday a pair-programming client asked me about the subject, so I put the question out on Twitter. Here are the results, summarized.
Like I said I’m not experienced with this stuff, so this is just a collection of notes, not a recommendation.
- Lots of people pointed me to Faye. From the home page:
Faye is a publish-subscribe messaging system based on the Bayeux
protocol. It provides message servers for Node.js and Ruby, and
clients for use in Node and Ruby programs and in all major web
- Pusher is a service I had already heard of, and it comes highly recommended from many sources. I know Larry Marburger uses it on CloudApp and has nothing but good things to say about it.
- Lots of mentions of Juggernaut. From the website:
Juggernaut gives you a realtime connection between your servers and
client browsers. You can literally push data to clients using your
web application, which lets you do awesome things like multiplayer
gaming, chat, group collaboration and more.
- Several people mentioned PubNub, which appears at first glance to be a similar service to Pusher.
- In addition, lots of people replied with various combinations of lower-level tools and technologies, including: Socket.io, Goliath, WebSockets, and EventMachine.
- EDIT: A couple people have also pointed out that TorqueBox provides built-in WebSockets support.