Merb

From Wikipedia, the free encyclopedia
Jump to: navigation, search
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.
For other uses, see Merb (disambiguation).
Merb
Original author(s) Ezra Zygmuntowicz
Developer(s) Yehuda Katz
Stable release 1.1.2[1] / June 17, 2010 (2010-06-17)
Written in Ruby
Operating system Cross-platform
Type Web application framework
License MIT License
Website www.merbivore.com

Merb, short for "Mongrel+Erb",[2] is a model–view–controller web framework written in Ruby. Merb was merged into Rails web framework on December 23, 2008[3] as part of the Ruby on Rails 3.0 release.[4]

Relation to Ruby On Rails[edit]

Merb 1.0 was released on November 7, 2008 at RubyConf.[5] and is currently at version 1.1.

The Merb project was started as a "clean-room" implementation[6] of the Ruby on Rails controller 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.[7][8]

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.[3]

Differences with Ruby On Rails[edit]

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.

Modularity[edit]

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.[9][10]

References[edit]

External links[edit]