September 13th, 2012
(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: firstname.lastname@example.org
I just ended 4 years where all I ever got to do was work with big frameworks, either PHP/Symfony or Ruby On Rails. Now I want to get away from big frameworks — I am tired of the unneeded ceremony for doing simple things. And that’s why I’ve enjoyed building small apps in Clojure, using only the components that I feel like using (maybe some Ring, maybe some Moustache). This is interesting since this almost exactly the same language I’ve been using to promote Clojure:
I love Ruby, but I have no love for Rails. Want to write a nice JSON API using something light and nice? Use Sinatra, pick your favorite ORM (even ActiveRecord) and go to town. Why mess with all the other Rails junk when you can have a simple app.rb for your sinatra app and just write simple little controller actions and you’re good to go?
You don’t need all the ceremony and structure of Rails and MVC to write a JSON api, you just don’t.
Worrying about Rails’ future and if it’s still “winning”(for some definition of winning?) compared to node.js is silly and reminds me of how many Java devs had an existential crisis about the future of Java since Java 7 took a few too many years to ship.
Rails is a web MVC framework, that’s it. It’s not even the only or best web framework in ruby. Rails is not ruby. It is not designed to compete with node. Node is a totally different thing.
Compare node and ruby and that’s a more interesting and correct comparison, but I’ve happily used both and neither one is going to “kill” the other any more than Rails killed PHP or Java killed C++.