All you need… nil you don’t
|
|
Original author(s) | Ezra Zygmuntowicz |
---|---|
Developer(s) | Ezra Zygmuntowicz & Yehuda Katz |
Last release |
1.1.2 / June 17, 2010
|
Development status | discontinued |
Written in | Ruby |
Operating system | Cross-platform |
Type | Web application framework |
License | MIT License |
Website | http://www.merbivore.com |
Merb was a model–view–controller web framework in Ruby, notable as a precursor to Rails 3. It brought increased focus on speed and modularity to Rails 3. The name Merb is a contraction of “Mongrel” and “Erb.”
Merb began as a "clean-room" implementation of the Rails controller stack, but grew to incorporate several ideas that deviated from Rails's spirit and methodology at the time, most notably component modularity, extensible API design, and vertical scalability. It was developed by Ezra Zygmuntowicz & Yehuda Katz. Most of these capabilities were added to Rails during the Rails 3/Merb merger. Merb was first released at the 2008 RubyConf and development has since stopped; Rails 3 therefore serves as both the successor to Rails 2 and the successor to Merb.
Merb's design attempted to address several criticisms of Rails 2:
Merb itself encompassed only the controller layer in MVC architecture, and used a suite of complementary, optional plugins together to assemble applications. The primary integration points were the web server interface, the model layer, the view layer, and controller extensions and add-ons. Merb's default application stack incorporated Datamapper for models, ERB for views, and Rack and Mongrel as the web server layer.
Before the Merb / Rails 3 merge, Rails lacked a well-defined, documented, public API for extensions and plug-ins, leading to issues when Rails changes broke monkey-patches performed by plug-ins. With the Rails 3 / Merb merge, Rails gained a defined public API with a test suite, giving users and plugin developers a clearer, more stable API to build against, reducing plugin breakage from release to release.