Giving Rails the Big 'F': Surviving Facebook Integration Unscarred - RailsConf

“If you want a vision of the [Facebook], imagine a boot stamping on a human face – forever.”—George Orwell Sooner or later, someone will ask you to write a Facebook app.

Scrabulous. Free Rice. Whopper Sacrifice. Some of the most wildly successful web apps of the last few years have been built on the Facebook development platform. With its enormous built-in audience and rich API for accessing its users’ info and helping them communicate, startups and giant multi-national corporations alike see Facebook as an enormous opportunity.

For developers, it looks more like a screaming nightmare. Their APIs shift with little notice and are often broken. They offer a series of nearly indistinguishable API options (a “Canvas App” or a “Page App”?) that each have different gotchas. Their use of proprietary markup languages (FBML and FBJS) and (shall we say) unusual use of HTTP verbs present a challenge to maintaining a productive local development environment.

In this session, I’ll lead you on a humorous romp through some of the more frightening corners of this nightmare world before showing how to make your way back to the calm and beautiful idyll you’ve come to expect from Rails development. I’ll impart the hard-won lessons, I’ve learned building Facebook applications with Rails for big national brands including techniques for removing the worst pain points in the Facebook development process by letting you actually run your app locally. I’ll also cover how to prevent the problems with Facebook from infecting the rest of your application. I’ll survey the current state-of-play in Facebook libraries for Rails and present some of the recipes that have been most successful.