Jump to content

Merb: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Rails 3 released - updating text accordingly.
m link direct to correct rails page
Line 19: Line 19:
| website = [http://www.merbivore.com/ merbivore.com]
| website = [http://www.merbivore.com/ merbivore.com]
}}
}}
'''Merb''', short for "[[Mongrel (web server)|Mongrel]]+[[eRuby#erb|Erb]]",<ref>{{cite web |url=http://osdir.com/ml/lang.ruby.mongrel.general/2006-10/msg00105.html |last=Zygmuntowicz |first=Ezra |title=ANN: Merb, Mongrel+Erb |work=[http://osdir.com/ osdir.com] |date=18 Oct 2006 }}</ref> is a [[model-view-controller]] [[web framework]] written in [[Ruby (programming language)|Ruby]]. Merb adopts an approach that focuses on essential core functionality, leaving most functionality to [[plugin]]s. Merb is merged into [[Ruby on Rails|Rails web framework]] since December 23, 2008.<ref>{{cite web |last=Boone |first=Paul |date=18 Sept 2008 |title=Rails/Merb performance comparison (on mongrel, jruby, tomcat, glassfish) |url=http://www.mindbucket.com/2008/09/18/rails-merb-performance-comparison-on-mongrel-jruby-tomcat-glassfish/ |work=[http://www.mindbucket.com/ mindbucket.com] }}</ref> Merb were merged with Rails as part of the [[Rails|Ruby on Rails 3.0 release]].<ref>[http://edgeguides.rubyonrails.org/3_0_release_notes.html Ruby on Rails 3.0 Release Notes]</ref>
'''Merb''', short for "[[Mongrel (web server)|Mongrel]]+[[eRuby#erb|Erb]]",<ref>{{cite web |url=http://osdir.com/ml/lang.ruby.mongrel.general/2006-10/msg00105.html |last=Zygmuntowicz |first=Ezra |title=ANN: Merb, Mongrel+Erb |work=[http://osdir.com/ osdir.com] |date=18 Oct 2006 }}</ref> is a [[model-view-controller]] [[web framework]] written in [[Ruby (programming language)|Ruby]]. Merb adopts an approach that focuses on essential core functionality, leaving most functionality to [[plugin]]s. Merb is merged into [[Ruby on Rails|Rails web framework]] since December 23, 2008.<ref>{{cite web |last=Boone |first=Paul |date=18 Sept 2008 |title=Rails/Merb performance comparison (on mongrel, jruby, tomcat, glassfish) |url=http://www.mindbucket.com/2008/09/18/rails-merb-performance-comparison-on-mongrel-jruby-tomcat-glassfish/ |work=[http://www.mindbucket.com/ mindbucket.com] }}</ref> Merb were merged with Rails as part of the [[Ruby_on_Rails|Ruby on Rails 3.0 release]].<ref>[http://edgeguides.rubyonrails.org/3_0_release_notes.html Ruby on Rails 3.0 Release Notes]</ref>


== Relation to Ruby On Rails ==
== Relation to Ruby On Rails ==

Revision as of 00:51, 28 September 2010

Merb
Original author(s)Ezra Zygmuntowicz
Developer(s)Yehuda Katz
Stable release
1.0.15 / November 4, 2009 (2009-11-04)
Repository
Written inRuby
Operating systemCross-platform
TypeWeb application framework
LicenseMIT License
Websitemerbivore.com

Merb, short for "Mongrel+Erb",[1] is a model-view-controller web framework written in Ruby. Merb adopts an approach that focuses on essential core functionality, leaving most functionality to plugins. Merb is merged into Rails web framework since December 23, 2008.[2] Merb were merged with Rails as part of the Ruby on Rails 3.0 release.[3]

Relation to Ruby On Rails

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

The Merb project was started as a "clean-room" implementation[5] of the Ruby on Rails controller stack, but has grown to incorporate a number of ideas which deviated from Rails's spirit and methodology, 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.[6][7]

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

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 lead Merb's developers to stress two key design principles, modularity, and an extensible API.

Modularity

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]

Extensible API

References

  1. ^ Zygmuntowicz, Ezra (18 Oct 2006). "ANN: Merb, Mongrel+Erb". osdir.com. {{cite web}}: External link in |work= (help)
  2. ^ Boone, Paul (18 Sept 2008). "Rails/Merb performance comparison (on mongrel, jruby, tomcat, glassfish)". mindbucket.com. {{cite web}}: Check date values in: |date= (help); External link in |work= (help)
  3. ^ Ruby on Rails 3.0 Release Notes
  4. ^ Aimonetti, Matt (9 Nov 2008). "Merb 1.0 released". Merbist.
  5. ^ Zygmuntowicz, Ezra (23 Dec 2008). "Merb *is* Rails".
  6. ^ Hansson, David Heinemeier (23 Dec 2008). "Merb gets merged into Rails 3!". weblog.rubyonrails.org. {{cite web}}: External link in |work= (help)
  7. ^ Katz, Yehuda (23 Dec 2008). "Rails and Merb Merge". yehudakatz.com. {{cite web}}: External link in |work= (help)
  8. ^ Boone, Paul (18 Sept 2008). "Rails/Merb performance comparison (on mongrel, jruby, tomcat, glassfish)". mindbucket.com. {{cite web}}: Check date values in: |date= (help); External link in |work= (help)
  9. ^ "merb-core gem dependencies". 23 mar 2010. {{cite web}}: Check date values in: |date= (help)
  10. ^ "merb gem dependencies". 23 mar 2010. {{cite web}}: Check date values in: |date= (help)