Мерб
Оригинальный автор(ы) | Эзра Зигмунтович |
---|---|
Разработчик(и) | Эзра Зигмунтович и Иегуда Кац |
Финальный выпуск | 1.1.3 [3] / 12 июля 2010 г. |
Репозиторий | |
Написано в | Руби |
Операционная система | Кросс-платформенный |
Тип | Фреймворк веб-приложений |
Лицензия | МОЯ лицензия |
Веб-сайт | http://www.merbivore.com |
Merb — это прекращенная модель-представление-контроллер веб-инфраструктура на Ruby , известная как предшественник Rails 3. Она привлекла повышенное внимание к скорости и модульности в Rails 3. [4] [5] Название Мерб является сокращением слов « Дворняга » и « Эрб ». [6]
Предшественник Rails 3 и слияние с ним.
[ редактировать ]Merb начинался как реализация «чистой комнаты». [7] из Rails стека контроллеров , но разросся и включил в себя несколько идей, которые отличались от духа и методологии Rails того времени, в первую очередь модульность компонентов , расширяемый дизайн API и вертикальную масштабируемость . Его разработали Эзра Зигмунтович и Иегуда Кац. Большинство этих возможностей были добавлены в Rails во время слияния Rails 3/Merb. [8] [9] Merb был впервые представлен на RubyConf в 2008 году. [10] и с тех пор разработка остановилась; Таким образом, Rails 3 является одновременно преемником Rails 2 и преемником Merb.
Отличия от Ruby on Rails
[ редактировать ]В дизайне Мерба была предпринята попытка ответить на несколько критических замечаний в адрес Rails 2:
- отсутствие модульности компонентов ( монолитная конструкция)
- отсутствие расширяемого API
- отсутствие вертикальной масштабируемости
Модульность
[ редактировать ]Сам Merb включал в себя только уровень контроллера в архитектуре MVC и использовал набор дополнительных дополнительных плагинов для сборки приложений. Основными точками интеграции были интерфейс веб-сервера, уровень модели, уровень представления, а также расширения и надстройки контроллера. Стек приложений Merb по умолчанию включает Datamapper для моделей, ERB для представлений и Rack and Mongrel в качестве уровня веб-сервера. [11] [12]
Четко определенный API
[ редактировать ]До слияния Merb и Rails 3 в Rails отсутствовал четко определенный, документированный, общедоступный API для расширений и плагинов, что приводило к проблемам, когда изменения Rails нарушали обезьяньи патчи, выполняемые плагинами. Благодаря слиянию Rails 3 и Merb Rails получил определенный общедоступный API с набором тестов, [9] предоставляя пользователям и разработчикам плагинов более понятный и стабильный API для построения, уменьшая поломки плагинов от выпуска к выпуску. [8]
Производительность и масштабируемость
[ редактировать ]Некоторые ранние версии Rails получили плохую репутацию из-за недостаточной производительности, часто из-за путаницы разработчиков с запросами ActiveRecord. Дэвид Хайнемейер Ханссон , создатель Rails, заявил, что Merb переписал многие основные части Rails, чтобы они стали быстрее, [8] и включил эти изменения из Merb в слияние Rails 3, пообещав пользователям, что «Rails 3 получит все внимание к производительности, которым известны ребята из Merb». [8]
Ссылки
[ редактировать ]- ^ Зигмунтович, Эзра. «Без кода быстрее, чем без кода» . Твиттер . Проверено 2 апреля 2015 г.
- ^ Грозенбах, Джеффри. «Происхождение фразы «Нет кода быстрее, чем отсутствие кода» . » . Твиттер . Эзра Зигмунтович . Проверено 2 апреля 2015 г.
- ^ «1.1.3» . Гитхаб .
- ^ Бун, Пол (18 сентября 2008 г.). «Сравнение производительности Rails/Merb (на дворняге, jruby, tomcat, glassfish)» . Mindbucket.com . Архивировано из оригинала 14 июля 2011 года.
- ^ «Примечания к выпуску Ruby on Rails 3.0» . Руководства по Ruby on Rails . Проверено 18 июля 2020 г.
- ^ Зигмунтович, Эзра (18 октября 2006 г.). «АНН: Мерб, Дворняга+Эрб» . osdir.com] . Архивировано из оригинала 31 декабря 2009 г.
- ^ Зигмунтович, Эзра (23 декабря 2008 г.). «Мерб *есть* Rails» .
- ^ Перейти обратно: а б с д Ханссон, Дэвид Хайнемайер (23 декабря 2008 г.). «Merb будет объединен с Rails 3!» . weblog.rubyonrails.org . Проверено 18 июля 2020 г.
- ^ Перейти обратно: а б Кац, Иегуда (23 декабря 2008 г.). «Слияние Rails и Merb» . yehudakatz.com .
- ^ Аймонетти, Мэтт (9 ноября 2008 г.). «Выпущен Мерб 1.0» . Мербист .
- ^ «зависимости драгоценных камней ядра Merb» . 23 марта 2010 г.
- ^ «зависимости merb gem» . 23 марта 2010 г.