You all know that my opinion of Ruby On Rails couldn’t be any lower if it was under the basement carpet of a Pompeii1 house, so this post won’t be very suprising.
In hindsight it all seems obvious, but actually, Backbone and other such frameworks represent some really great out of the box creativity. Anyway, after my last Rails project, I more or less swore I would never work with that ass backwards platform ever again. I decided to revisit this idea of Single Page Applications and low and behold I stumble onto Backbone.js, and I decide I am going to learn to use this tool. While looking around for some books on the topics of jQuery and Backbone (I’ve more or less decided to give up the ghost and use jQuery ui elements in all future applications cause rolling your own is just too much work.) low an behold I find a link to this: http://www.backbonerails.com. I thought to myself, you have to be shitting me. Mixing Backbone.js and Ruby on Rails is like taking a sexy girl back to your apartment and making her diddle herself across the room while you try to solve a Rubik’s Cube with your toes.
Rails is the big shining Mecca of Shit2 that passes for a software platform these days, so I understand that all the new kids want to make use of cool by association until graduation is over, and everyone realizes that the flashy douche bag will end up a used car salesman, slowly killing his soul, beating his wife and kids, and crying himself to sleep in a second hand recliner while he reminisces about the glory days over a bottle of cheap scotch.
Normally I would find such an ironic situation truly sad, but must admit the idea of a pot-bellied DHH sobbing like a little girl into a dixie cup filled with Tambowie is strangely satisfying.
Using Rails on the Server side of a Backbone Application is like putting on astroglide3 before attempting to service4 a meat grinder. Deploying Rails Applications is actually MORE difficult than deploying a Java Application (go figure). Any and all time and money saved during development of a Rails application will quickly be consumed in the cost of server and the hours of headaches of deployment. It’s such a headache that tools have been created to automate the deployment of Rails Applications, and those tools themselves are a Headache to use, with confusing pointless options and defaults that would only work on trivially simple applications.
Backbone and Ruby aren’t just apples and oranges, they are Apples and a Pile of Steaming Dog Poo (PSDP).
This is because MVC was a stupid stupid idea for web applications on the server. MVC in the browser is right inline with the kinds of issues it was meant to solve. The extent of the code on your server should be: 1) can you do this, and 2) here’s a collection object of what you asked for and 3) What you asked me to save has been saved.
The webserver should become nothing more than a database layer.