Right before christmas David (with personal follow up), Yehuda and Ezra let it out of the box. Rails 3.0 (Merb inside) will become the uberframework. We’re totally happy with that step and it totally makes sense (though there are different voices).
When we first evaluated merb, we did it, because we needed a lightweight alternative for Rails. But wait! We simply needed a lightweight alternative to ActiveRecord. So we found DataMapper – and with it somehow Merb. With Rails 3.0 you can choose between ActiveRecord, DataMapper or Sequel. Matt Aimonetti pointed ot to me, that a lot of good people are working hard to make sure, that Rails will be truly ORM agnostic. Actually some people made DataMapper working with Rails month ago.
Having Merb on the radar we tried to build a very little app simultanously, to see the pros and the cons. As others we found out that it’s not that difficult to migrate from Rails to Merb. Especially with the API becoming stable a lot of things felt very Rails like e.g. merb_helpers try to mimic a lot of the rails api. So not merging with Rails a lot of problems in merb could only be solved by reinventing the wheel – ask yourself: Is that DRY?
We also found out that even some major plugins were available for both frameworks (e.g. Paperclip). Also for plugin developers this merge totally makes sense! Who wants to maintain two branches?
Probably with the big version number switch Rails will get some drastic changes. The Merb Router will be ported, the way controllers work will be changed and with some luck, we maybe get some of Sinatras sweetness, when we want to define flat applications. So we all have to upgrade our code – but I think it’s worth to do so.
We will a faster and more efficient framework, we get slices/engines and maybe we are gonna be able to push our code reusability to the maximum.
And for those who don’t want to use Rails, because “It’s the evil empire”, there are still plenty of options left.
Great job. Thanks your. :)