Merb

Merb: Brak kodu jest szybszy niż brak kodu
Oryginalni autorzy Ezdrasza Zygmuntowicza
Deweloperzy Ezra Zygmuntowicz i Jehuda Katz
Ostateczne wydanie
1.1.3 / 12 lipca 2010 ( 12.07.2010 )
Magazyn
Napisane w Rubin
System operacyjny Międzyplatformowe
Typ Ramy aplikacji internetowych
Licencja Licencja MIT
Strona internetowa http://www.merbivore.com

Merb to wycofany framework sieciowy model-widok-kontroler w Ruby , znany jako prekursor Rails 3. Przyniósł większy nacisk na szybkość i modułowość do Rails 3. Nazwa Merb jest skrótem od „ Mongrel ” i „ Erb ”.

Prekursor i połączenie z Rails 3

stosu kontrolera Rails w „czystym pomieszczeniu”, ale rozwinął się, obejmując kilka pomysłów, które odbiegały od ducha i metodologii Rails w tamtym czasie, w szczególności modułowość komponentów , rozszerzalny projekt API i pionową skalowalność . Opracowali go Ezra Zygmuntowicz i Yehuda Katz. Większość z tych możliwości została dodana do Railsów podczas fuzji Rails 3/Merb. Merb został po raz pierwszy wydany na RubyConf 2008 i od tego czasu rozwój się zatrzymał; Dlatego Rails 3 służy zarówno jako następca Rails 2, jak i następca Merba.

Różnice w stosunku do Ruby on Rails

Projekt Merba próbował odpowiedzieć na kilka krytycznych uwag dotyczących Rails 2:

  • brak modułowości komponentów ( konstrukcja monolityczna )
  • brak rozszerzalnego API
  • brak skalowalności pionowej

Modułowość

Sam Merb obejmował tylko warstwę kontrolera w architekturze MVC i wykorzystywał zestaw uzupełniających się opcjonalnych wtyczek do składania aplikacji. Głównymi punktami integracji były interfejs serwera WWW, warstwa modelu, warstwa widoku oraz rozszerzenia i dodatki kontrolera. Domyślny stos aplikacji Merb obejmował Datamapper dla modeli, ERB dla widoków oraz Rack i Mongrel jako warstwę serwera WWW.

Dobrze zdefiniowany interfejs API

Przed połączeniem Merb i Rails 3 w Railsach brakowało dobrze zdefiniowanego, udokumentowanego, publicznego API dla rozszerzeń i wtyczek, co prowadziło do problemów, gdy zmiany w Railsach psuły łatki małpy wykonywane przez wtyczki. Wraz z połączeniem Rails 3 i Merb, Rails zyskał zdefiniowany publiczny interfejs API z zestawem testów, dając użytkownikom i twórcom wtyczek bardziej przejrzysty, bardziej stabilny interfejs API do budowania, zmniejszając liczbę awarii wtyczek od wydania do wydania.

Wydajność i skalowalność

Niektóre wczesne wersje Rails otrzymały zły rozgłos z powodu braku wydajności, często z powodu dezorientacji programistów co do zapytań ActiveRecord. David Heinemeier Hansson , twórca Rails, stwierdził, że Merb przepisał wiele podstawowych elementów Rails, aby był szybszy, i włączył te zmiany z Merb do połączenia Rails 3, obiecując użytkownikom, że „Rails 3 przyciągnie całą uwagę wydajności, jaką Merb faceci są znani”.

Linki zewnętrzne