-
Notifications
You must be signed in to change notification settings - Fork 25
Realtime web applications with streaming REST
Presenter: Brad Gessler
I'm the CTO at Poll Everywhere, the worlds largest mobile survey platform, and I love building stuff. I've been hacking Rails since 1.x, full embraced REST, and haves since extended the concept to make building realtime Rails application easier.
As more people collaborate on the web with your applications, its not enough to just persist data to the database; it needs to be pushed out to your users web browsers so that they're always working with the freshest data.
In this session, Brad will show how to build a real-time layer on top of an existing Rails application's authorization and resource logic so that you can build on top of the hard work already invested in your Rails application.
Topics that will be discussed include:
- Why I didn't choose Socket.IO
- Stream application resources into Backbone.js models to keep data fresh
- Hook into ActiveRecord to push representations of data into a message queue
- Message queue naming conventions public/private resource streams
- Exposing message queues to HTTP
- Securing streams with existing application authorization logic
- Considerations for streaming in a production environment
- For realtime apps
- Long polling
- The simplest solution is a variation on
setInterval
- Caching can help a lot ("throw a lot of RAM at the problem")
- You'll get a bunch of "exceeded the rate limit" errors from Airbrake
- Doesn't work at scale (large systems/streams)
- The simplest solution is a variation on
- Monolithic apps * For larger development teams, monolithic apss can slow things down * "Rails App Maximus" * Makes it hard to do realtime streaming * Break app down into smaller pieces (e.g. all talk to JSON API)
A crowd-sourced conference wiki!
Working together is better. :)
- Speakers, for example:
- Recent Conferences
- Software
- Offline Access
- Contributors (More than 50!)
- Code Frequency