Merb is a web development framework, implemented in Ruby. Having grown out of the Ruby on Rails community, Merb benefitted significantly from the lessons that had been learnt from working with Rails. The Merb team went on to make a "Faster, Lighter, More Agile" framework, which clearly owed a lot to the excellent design of Ruby on Rails.

Like Rails, Merb is designed to use the MVC design pattern and favours the convention over configuration design paradigm. Rails likes to define a default Object Relational Mapper (ORM), a preferred JavaScript library, a default testing framework (etc.). The Merb ethos differs slightly in that Merb prefers you to chose which ORM or testing framework is most suitable for the task at hand.

In December 2008 it was announced that the Rails and Merb projects would be merging to form Rails 3, allowing many of the ideas and improvements that had been included in Merb to be incorporated back into Rails. Rails 3 will be a very interesting version to watch...

Articles on Merb

  1. Installing Merb, DataMapper and Postgres on Ubuntu

    This isn't particularly difficult, but if you're not familiar with Postgres on Ubuntu it could take you ten minutes to work it out:

    $ sudo apt-get install postgresql-8.2 postgresql-server-dev-8.2 -y
    $ sudo apt-get install libsqlite3-dev -y
    $ sudo gem install merb do_postgres

    The merb gem depends on the do_sqlite3 DataMapper database driver, so we need the libsqlite3-dev package in order to compile it. You can remove it afterwards if you like.

  2. Merb and DataMapper on the edge

    I've just started writing a new app with merb and datamapper, so decided to start out on the edge. The preferred way to do it these days is with sake, a tool for running system wide rake tasks. It's rather neat, and should (in theory) have made my installation of the edge versions of merb and datamapper extremely easy.

    I did hit a couple of issues running them on Ubuntu 7.10, hence this article…

    More on installing Merb edge

    Published on in Merb