머브
Merb원저작자 | 에즈라 지그문토비치 |
---|---|
개발자 | 에즈라 지그문토비치 & 예후다 카츠 |
최종 릴리즈 | 1.1.2[3] / 2010년 6월 17일 ( |
저장소 | |
기입처 | 루비 |
운영 체제 | 크로스 플랫폼 |
유형 | 웹 응용 프로그램 프레임워크 |
면허증. | MIT 라이선스 |
웹 사이트 | http://www.merbivore.com |
Merb는 Ruby에서 단종된 모델 뷰 컨트롤러 웹 프레임워크로, Rails 3의 선구자로 잘 알려져 있습니다.Rails [4][5]3의 속도와 모듈러성에 대한 관심이 높아졌습니다.Merb라는 이름은 Mongrel과 Erb의 [6]줄임말이다.
레일 3의 선구자 및 레일 3과의 통합
Merb는 처음에 Rails 컨트롤러 스택의 "클린룸" 구현으로[7] 시작되었지만, 당시 Rails의 정신과 방법론에서 벗어난 몇 가지 아이디어, 특히 컴포넌트 모듈화, 확장 가능한 API 설계 및 수직 확장성을 통합했습니다.그것은 Ezra Zygmuntowicz와 Yehuda Katz에 의해 개발되었다.이러한 기능의 대부분은 Rails 3/Merb [8][9]합병 과정에서 Rails에 추가되었습니다.Merb는 2008년[10] RubyConf에서 처음 출시되었으며 이후 개발이 중단되었습니다. 따라서 Rails 3은 Rails 2의 후계자 및 Merb의 후계자 역할을 합니다.
Ruby on Rails와의 차이점
Merb의 설계는 Rails 2에 대한 몇 가지 비판에 대처하려고 시도했습니다.
- 컴포넌트 모듈성 결여(모놀리식 설계)
- 확장 가능한 API의 결여
- 수직 확장성의 결여
모듈러성
Merb 자체는 MVC 아키텍처의 컨트롤러 계층만을 포함하며 보완적인 옵션 플러그인 세트를 함께 사용하여 애플리케이션을 조립했습니다.주요 통합 지점은 웹 서버 인터페이스, 모델 계층, 뷰 계층, 컨트롤러 확장 및 추가 기능입니다.Merb의 기본 애플리케이션 스택에는 모델용 Datamapper, 뷰용 ERB, 웹 서버 [11][12]레이어로서 Rack과 Mongrel이 포함되어 있습니다.
명확한 API
Merb/Rails 3이 통합되기 전에 Rails는 확장 및 플러그인에 대한 명확한 정의, 문서화된 공개 API가 없었기 때문에 Rails 변경으로 인해 플러그인에 의해 수행된 몽키패치가 깨지는 문제가 발생하였습니다.Rails 3과 Merb의 결합을 통해 Rails는 테스트 [9]스위트와 함께 정의된 퍼블릭 API를 획득하여 사용자와 플러그인 개발자에게 보다 명확하고 안정적인 API를 제공함으로써 릴리즈에서 [8]릴리즈까지의 플러그인 중단을 줄였습니다.
퍼포먼스와 확장성
일부 초기 버전의 Rails는 ActiveRecord 쿼리에 대한 개발자의 혼란으로 인해 성능 저하로 인해 나쁜 평판을 받았습니다.Rails의 창시자인 David Heinemier Hanson은 Merb가 많은 핵심 Rails 조각을 보다 [8]빠르게 고쳐 썼고, Rails 3의 결합에 Merb의 변경 사항을 포함시켰으며, "Rails 3은 Merb guy가 알고 있는 모든 성능의 주목을 받게 될 것"[8]이라고 사용자에게 약속했습니다.
레퍼런스
- ^ Zygmuntowicz, Ezra. "No Code is Faster Than No Code". Twitter. Retrieved 2 April 2015.
- ^ Grosenbach, Geoffrey. "Origin of, "No code is faster than no code."". Twitter. Ezra Zygmuntowicz. Retrieved 2 April 2015.
- ^ "Merb on GitHub". GitHub.
- ^ Boone, Paul (18 Sep 2008). "Rails/Merb performance comparison (on mongrel, jruby, tomcat, glassfish)". mindbucket.com. Archived from the original on 14 July 2011.
- ^ "Ruby on Rails 3.0 Release Notes". Ruby on Rails Guides. Retrieved 18 July 2020.
- ^ Zygmuntowicz, Ezra (18 Oct 2006). "ANN: Merb, Mongrel+Erb". osdir.com]. Archived from the original on 2009-12-31.
- ^ Zygmuntowicz, Ezra (23 Dec 2008). "Merb *is* Rails".
- ^ a b c d Hansson, David Heinemeier (23 Dec 2008). "Merb gets merged into Rails 3!". weblog.rubyonrails.org. Retrieved 18 July 2020.
- ^ a b Katz, Yehuda (23 Dec 2008). "Rails and Merb Merge". yehudakatz.com.
- ^ Aimonetti, Matt (9 Nov 2008). "Merb 1.0 released". Merbist.
- ^ "merb-core gem dependencies". 23 Mar 2010.
- ^ "merb gem dependencies". 23 Mar 2010.