January 6th 2009

{:merb => "1.0"}.merge(:rails => "2.3") => {:rails => "3.0"}

Two weeks after the official announcement has been made by David, I finally managed to catch up on my Google Reader, and get to know these exciting news probably as the completely last person on earth: Merb is going to be merged into Rails to become the single greatest piece of software ever created!

If anyone apart of me also missed out on this (I really hope I am actually not the only one who enjoyed holidays away from the screen), be sure to also check out the announcements and opinions posted by new Rails core member Yehuda Katz (who gets into detail on how the merger can be accomplished), Merb founder Ezra Zygmuntowicz as well as Merb developer and Engine Yard employee Carl Lerche, which I actually found the most interesting read because it shows the uniqueness of the whole event of two distinct projects, each fighting for their own goals and having fundamental disagreements on the requirements of a kick-ass framework, putting their differences aside and rather joining forces to build something amazing that benefits from the advantages of both.

I've been following the development and achievements of Merb for quite a while, even though I never managed to really get into it and create a project based upon it. Actually what distracted me the most was that I had to relearn some things, which were done differently in Rails, while plenty of stuff could be accomplished the same way. I always liked Merb's aim to achieve a better structure though, for instance the highest-possible level of decoupling of the individual parts of the framework (I am thinking of the possibility to use something different than ActiveRecord in particular) as well as their work on speedup and early embrace of Rack.

The announced enhancements of Rails performance based upon Merb code have already started to take place, as Mike Gunderloy wrote in his most recent "This Week in Edge Rails":

In some of the first fruits of the Rails-Merb team merger, Yehuda Katz took a look at the respond_to method, which is of course heavily used in many Rails applications to allow your controller to format results differently based on the MIME type of the incoming request. After eliminating a call to method_missing and some profiling and tweaking, he reports an 8% improvement in the number of requests per second served with a simple respond_to that switches between three formats. The best part? No change at all required to the code of your application to take advantage of this speedup

This whole thing is gonna be huge for Rails as well as the whole Ruby community! With the cute parts of Merb integrated into Rails and other great stuff like Rails Metal coming up, I am already looking forward to David's keynote at this years RailsConf, in which hopefully he will introduce the greatness of Rails 3 to us, though I don't believe they will have a beta wrapped-up by then (which he is hoping for in the mentioned post).

In more recent news, the "new evangelism team" mentioned by David in the post linked above has been introduced on the official Rails blog today:

Bringing Rails and Merb together is about more than just merging the respective code. We’re also picking up the best ideas from both communities beyond the code. Following on Merb’s success in offering a strong evangelism effort, we’re pleased to announce the creation of the Rails activists:
The mission of the Rails activists is to empower and support the worldwide network of Ruby on Rails users. We do this by publicizing Rails, making adoption easier, and enhancing developer support.

I can only repeat myself: Great stuff coming up!

Written by Christoph Olszowka
blog comments powered by Disqus