Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Merb

From Wikipedia, the free encyclopedia
Model-view framework for the Ruby programming language
For other uses, seeMerb (disambiguation).
Merb: No code is faster than no code[1][2]
All you need… nil you don’t
Original authorEzra Zygmuntowicz
DevelopersEzra Zygmuntowicz & Yehuda Katz
Final release
1.1.3[3] / July 12, 2010 (2010-07-12)
Written inRuby
Operating systemCross-platform
TypeWeb application framework
LicenseMIT License
Websitehttp://www.merbivore.com
Repository

Merb is a discontinuedmodel–view–controllerweb framework inRuby, notable as a precursor to Rails 3. It brought increased focus on speed and modularity to Rails 3.[4][5] The name Merb is a contraction of "Mongrel" and "Erb".[6]

Precursor to and merge with Rails 3

[edit]

Merb began as a "clean-room" implementation[7] of theRailscontroller stack but grew to incorporate several ideas that deviated from Rails's spirit and methodology at the time, most notablycomponent modularity, extensibleAPI design, andvertical scalability. It was developed by Ezra Zygmuntowicz and Yehuda Katz. Most of these capabilities were added to Rails during the Rails 3/Merb merger.[8][9] Merb was first released at the 2008RubyConf[10] and development has since stopped; Rails 3, therefore, serves as both the successor to Rails 2 and the successor to Merb.

Differences from Ruby on Rails

[edit]

Merb's design attempted to address several criticisms ofRails 2:

  • lack of component modularity (monolithic design)
  • lack of an extensible API
  • lack of vertical scalability

Modularity

[edit]

Merb itself encompassed only the controller layer inMVC 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 incorporatedDatamapper for models, ERB for views, andRack and Mongrel as the web server layer.[11][12]

Well-defined API

[edit]

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 brokemonkey-patches performed by plug-ins. With the Rails 3 / Merb merge, Rails gained a defined public API with a test suite,[9] giving users and plugin developers a clearer, more stable API to build against, reducing plugin breakage from release to release.[8]

Performance and scalability

[edit]

Some early versions of Rails received bad publicity for lack of performance, frequently due to developer confusion about ActiveRecord queries.David Heinemeier Hansson, the creator of Rails, stated that Merb re-wrote many core Rails pieces to be faster,[8] and incorporated those changes from Merb in the Rails 3 merge, promising users that "Rails 3 will get all the performance attention that the Merb guys are known for".[8]

References

[edit]
  1. ^Zygmuntowicz, Ezra."No Code is Faster Than No Code".Twitter. Retrieved2 April 2015.
  2. ^Grosenbach, Geoffrey."Origin of, "No code is faster than no code."".Twitter. Ezra Zygmuntowicz. Retrieved2 April 2015.
  3. ^"1.1.3".GitHub.
  4. ^Boone, Paul (18 Sep 2008)."Rails/Merb performance comparison (on mongrel, jruby, tomcat, glassfish)".mindbucket.com. Archived fromthe original on 14 July 2011.
  5. ^"Ruby on Rails 3.0 Release Notes".Ruby on Rails Guides. Retrieved18 July 2020.
  6. ^Zygmuntowicz, Ezra (18 Oct 2006)."ANN: Merb, Mongrel+Erb".osdir.com]. Archived fromthe original on 2009-12-31.
  7. ^Zygmuntowicz, Ezra (23 Dec 2008)."Merb *is* Rails".
  8. ^abcdHansson, David Heinemeier (23 Dec 2008)."Merb gets merged into Rails 3!".weblog.rubyonrails.org. Retrieved18 July 2020.
  9. ^abKatz, Yehuda (23 Dec 2008)."Rails and Merb Merge".yehudakatz.com.
  10. ^Aimonetti, Matt (9 Nov 2008)."Merb 1.0 released".Merbist.
  11. ^"merb-core gem dependencies". 23 Mar 2010.
  12. ^"merb gem dependencies". 23 Mar 2010.

External links

[edit]
Implementations
Active
Discontinued
IDE
Applications
Libraries,
frameworks
Server software
People
Other
.NET
C++
ColdFusion
Common Lisp
Haskell
Java
JavaScript
Back end
Server-side
Full-stack
Front end
Client-side
Perl
PHP
Python
Ruby
Rust
Scala
Smalltalk
Other languages
Retrieved from "https://en.wikipedia.org/w/index.php?title=Merb&oldid=1321354708"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp