This article is about the model-view ruby framework. For the "Opportunity" Mars rover, see MER-B. For the fictional race from "Storm Hawks", see List of Storm Hawks characters. For MERB, the stockticker symbol, see Meralco.
Merb 1.0 was released on November 7, 2008 at RubyConf. and is currently at version 1.1.
The Merb project was started as a "clean-room" implementation of the Ruby on Railscontroller stack, but has grown to incorporate a number of ideas which deviated from Rails's spirit and methodology at the time, most notably, component modularity, extensible API design, and vertical scalability. Most of these capabilities have since been incorporated back into Rails during the Rails/Merb merger announced on December 23, 2008.
Like Rails, Merb can also be used to write sophisticated applications and RESTful Web services. It has been suggested that Merb is more flexible and faster than Rails.
Differences with Ruby On Rails
Most of the key features and purported benefits of Merb have been integrated into Ruby on Rails during the course of development of Rails3. There will be no version 2 of Merb, with Rails 3 serving as the successor to both Rails 2 and Merb. However, historically, Merb's design was built with the intent of addressing a number of key criticisms of Ruby on Rails. This led Merb's developers to stress two key design principles, modularity, and an extensible API.
Merb proper encompasses only the controller layer in the Model, View, Controller architecture, however Merb serves as the integration point for a larger suite of technologies which operate in concert as an entire web application framework. The primary points of integration with Merb are the web server interface, the MVC model layer, the MVC view layer, and finally controller extensions and addons. Merb's default application stack incorporates Datamapper at the Model layer, ERB at the view layer, and Rack and Mongrel at the web server layer.