I’m helping a friend who is going to be creating a new web app a hand navigating the technology maze. So far I’ve steered him in the direction of Ruby because it seems that a small team can build a good web app quickly in it. So far so good. I’ve read a most of the Pick Axe book and it’s great as far as it goes.
But now I’m stuck how do I evaluate the various frameworks? Rails? Merb? I like the agnostic approach of Merb and am concerned that Rails has already chosen the UI library (the ORM tool, etc.) for me. But I know so little at this stage I may be missing the boat. Where do I go to learn more? The ideal would be I write small web app in each framework to get sense of what works. But this is unpaid work and I have a family so that option is right out.
I’ve found a news item at InfoQ: The Forgotten Ruby Web Frameworks – it at least mentions other frameworks. But even that news item makes no real attempt at comparison. Are there any good comparisons of the frameworks out there? Where would you start?
To be the decision doesn’t need to be made right away and there will be room for some experimentation once his developer gets going, I’m just trying to set him on a good path.
No related posts.










Hey Mark,
Being a Python/Django guy, I can’t really recommend one framework over the other, but I can tell you this … go with whichever one has the larger/more active community. You’ll need them. For a business application, you’ll want timely response time to questions and ideally an well populated and active IRC channel. What I find with many of these “alternative” frameworks especially in the early days is they get to the equivalent of version 2 (depending on their versioning scheme) and say “oh, you know we really should make [dramatic change] to [core component]” and you’re left holding the bag. Pick a framework that has already had that epiphany and done that work.
I’ve spent the last year+ doing Django contract work and one of the biggest objections I hear from clients is that it’s prohibitively hard to get Django developers. If your intention is to never have developers leave/get sick/die then perhaps you can build your own center of excellence for an early-adopter framework, but otherwise you’ll need to find them somewhere or retrain internally. Business-wise it’s always better to have a larger gene pool to pick from (look at the popularity of Java … don’t get me started).
So, if is just a learning exercise, pick whatever you like. But if you plan on making production code from it, I would suggest you go with the belle-of-the-ball.
-Sandy
For your first Ruby-based app I recommend Rails. When you’re comfortable with Rails, move to merb.
Hey Mark,
Yehuda Katz here, core developer of the Merb framework. I’d say it depends on whether your developers will be *Ruby* developers or developers using a DSL to make websites. That, of course, depends on the complexity of your application. If your application will require real programming, and not just glue for various pieces of web technologies, Merb is a much better fit.
On the other hand, Rails is perfect for cases where you merely want to use Ruby to simplify some common tasks (templating, database access, routing), etc.
If you have any additional questions, I’d be happy to chat via GTalk (wycats@gmail.com) or IRC (wycats on freenode).