Top Ruby Frameworks Rails and Merb Join Forces

Tweet

Apologies to any readers who develop on the LAMP stack, or who use ASP, CFM, Python, or anything other than Ruby — this post might not be of interest to you. But it’s fairly rare for two essentially competing frameworks to merge and join forces. That’s what happened today, though, when the popular Ruby on Rails framework announced that it would be joining forces with the less popular, but up-and-coming, Merb framework.

The much-hyped Rails framework has enjoyed a ton of time in the spotlight over the past 4 years and powers some of the web’s most used sites and applications, including Twitter, YellowPages.com, Kongregate, A List Apart, Scribd, and Xing. But Rails certainly isn’t for everyone. Many people love the way it does things, but dislike the way it endeavors to have an answer for everything. Rails is a full-stack framework that would rather you use the built in pieces to get things done — i.e., Prototype for AJAX, Active Record for ORM, or test/unit for testing.

Merb, on the other hand, is a Rails-inspired framework that endeavors to focus on the core functionality and rely on plugins for everything else. That makes Merb more agnostic when it comes to what technologies you want to use to build your application. Rails developers have always been able to use other frameworks for development — jQuery for JavaScript, or rSpec for testing, for example — but it is generally considered kind of messy. You can’t easily strip out the pieces you don’t like, so you have to pile on the stuff you want to use and rely on plugins to make it all work.

Now, the core teams from Rails and Merb are merging in an effort to bring the two frameworks together for Rails 3, slated for beta release at RailsConf in Las Vegas in May. “We all realized that working together for a common good would be much more productive than duplicating things on each side of the fence,” wrote Rails originator David Heinemeier Hansson in a blog post about today’s merger. “Merb and Rails already share so much in terms of design and sensibility that joining forces seemed like the obvious way to go. All we needed was to sit down for a chat and hash it out, so we did just that.”

Both the Rails and Merb teams ensure that this doesn’t mean much of a change for developers on either framework who don’t want it to. The Merb team plans to work hard to create an easy path to upgrade to Rails 3 for Merb users, and current Rails users could certainly ignore the changes. The biggest effect of the merger, though, is likely that Rails is going to become more modular. There will still be default options in place, but replacing them without harming other parts of the framework will be much easier.

Rails 3 will have the “ability to opt in or out of specific components. We will focus on reducing coupling across Rails, and making it possible to replace parts of Rails without disturbing other parts,” according to Merb core team member Yehuda Katz.

Rails should also get faster — Merb’s speed over Rails has always been something that proponents of the younger framework boasted about. Rails 3 will also come with a new rigorous API for extensions. “This will allow users and plugin developers to have a clearer, more stable API to build against. It should also significantly reduce plugin breakage from release to release,” says Katz.

This is a huge day for developers of both the Rails and Merb frameworks and for Rubyists in general. But it’s also a fairly significant occurrence for the web development community at large. The combination of these two popular frameworks could give Ruby, and Ruby on Rails, a big boost. It’s also interesting to see two competing frameworks come together and iron out the minor differences that kept them apart in order to work toward a more positive single goal.

Remember to check out SitePoint’s Ruby forums for help and discussion about anything Ruby related. Anyone interested in learning Rails is encouraged to pick up a copy of SitePoint’s Simple Rails 2.

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • http://www.duskdesigns.com/ vSkyfluxx

    Does anyone see this happening for other, non-Ruby frameworks?

  • Matt Aimonetti

    Great coverage of the event. I would like to just add one thing to your already complete article.

    As part of the work we did on Merb, we also looked and learned a lot from other frameworks (inside and outside of the ruby world, Django being a good example). We will continue to do that and to be inspired by the numerous awesome projects out there.

    People also need to realize that the merb team will also bring along a different world view. Merging two great teams with slightly different approaches will enrich the project more than anyone can expect.

    People who judged Rails and the Rails team few years ago might want to reconsider. This move from the Rails team is a significant gesture showing that they are not stuck in their ways and want the best for the community.

    Hopefully some of you readers, will give Rails 3.0 a go and will find something they will want to adopt.

  • Mikhailov Anatoly

    It’s great!
    What you think about new logo?
    http://www.railsgeek.com/2008/12/23/rails-3-rails-and-merb-merge

  • Woj

    It’s great news :-) Congratulations for RoR and Merb developers – common good was for You better than individual successes. Thank You.

  • lowell

    Josh,

    What was the point of your introductory sentence? The one where you apologized to everyone that isn’t a Rubyist? Do you prefix all your articles with an apology to all the technologies not covered in said article? That’s a little weird.

  • http://www.kellishaver.com/ KelliShaver

    I’m guessing Josh did that because Sitepoint has a very large PHP community by comparison and those people make up a large part of the readership here on the blog. Most of his posts are also about tech trends, marketing, business and social aspects of the web rather than a specific web technology.

  • lowell

    @kellishaver

    thanks, that makes sense. i’m not familiar with this community, got here by a link. thanks again!

  • http://www.therailstation.com Megapixelicious

    Great, now that my Rails plugin directory website (www.therailstation.com) is up I will have to rethink the whole thing to work with MERB…

    On the plus side, RoR is going to gain a lot from this: a better plugin architecture and with a bit of luck some performance gain. It will also regroup a lot of the Ruby expertise under one roof.

    That being said, how long before we see a fork from people who wants to keep MERB “pure” ?