Rails, Merb or Rails with custom components?
Not having written a single line of code to my project, I can still ponder with the technology, components and even framework to use. I really love Rails, but when I run into Merb, I was at least half sold. Now, I think, I have three choices to carry on with:
- Pick Rails and use the core components most of the time
- Choose Merb and use whatever components I like most
- Do the stuff with Rails, but use "better" alternative components often
The first option is probably the easiest for a beginner like me. There are many great books and tutorials that cover Rails, and they really focus on the default stuff Rails bundles.
Using Merb would probably give me some more freedom (and performance), but I would not get the same level of support as I would with Rails. Merb is probably "too young" framework for a newbie like me. If I chose Merb, I would definitely have a thorough look at DataMapper ORM. Compared with ActiveRecord, it feels more "right" model persistence solution (perhaps it is just my Java background), but not really having the experience, I won't say a word more.
While default components of Rails seem mostly great, I wouldn't say it always was love at first sight. I am very tempted to use alternative techniques such as Haml over Erb and jQuery over Prototype/Scriptaculous. It seems easy to switch a particular component, but I suspect it would come with a price of "how-to-figure-out-why-this-thing-does-not-longer-work-and-my-book-says-nothing".
I will most likely try to do it Rails Way. Don't think too much beforehand, and focus on writing the simplest possible code with whatever Rails have to offer for me. And of course, use the variety of Rails plugins available whenever I think I am reinventing the wheel. One day I will feel more like a real Rails developer packed with some real-life experience, and confidence for experimenting all the great stuff Ruby/Rails/Merb/whatever community have created.
