Мерб - Википедия - Merb
Все, что вам нужно ... нет, нет | |
Оригинальный автор (ы) | Эзра Зигмунтович |
---|---|
Разработчики) | Эзра Зигмунтович и Иегуда Кац |
Окончательный релиз | 1.1.2[3] / 17 июня 2010 г. |
Репозиторий | |
Написано в | Рубин |
Операционная система | Кроссплатформенность |
Тип | Фреймворк веб-приложений |
Лицензия | Лицензия MIT |
Интернет сайт | http://www.merbivore.com |
Мерб был модель – представление – контроллер веб-фреймворк в Рубин, известная как предшественник Rails 3. Он уделяет повышенное внимание скорости и модульности Rails 3.[4][5] Название Мерб - сокращение от "Дворняга " и "Erb ".[6]
Предшественник и слияние с Rails 3
Merb начинался как реализация «чистой комнаты»[7] из Рельсы стек контроллеров, но вырос, чтобы включить несколько идей, которые отклонялись от духа и методологии Rails того времени, в первую очередь модульность компонентов, расширяемый API дизайн и вертикальная масштабируемость. Его разработали Эзра Зигмунтович и Иегуда Кац. Большинство этих возможностей были добавлены в Rails во время слияния Rails 3 / Merb.[8][9] Мерб был впервые выпущен в 2008 году. RubyConf[10] и развитие с тех пор остановилось; Таким образом, Rails 3 является и преемником Rails 2, и преемником Merb.
Отличия от Ruby on Rails
В конструкции Мерба предпринята попытка ответить на несколько критических замечаний по поводу Рельсы 2:
- отсутствие модульности компонентов (монолитный дизайн)
- отсутствие расширяемого API
- отсутствие вертикальной масштабируемости
Модульность
Сам Merb охватывает только уровень контроллера в MVC архитектура и использовала набор дополнительных дополнительных плагинов вместе для сборки приложений. Основными точками интеграции были интерфейс веб-сервера, уровень модели, уровень представления, а также расширения и надстройки контроллера. Встроенный стек приложений Merb по умолчанию Datamapper для моделей, ERB для представлений и Стойка и Mongrel в качестве уровня веб-сервера.[11][12]
Четко определенный API
До слияния Merb / Rails 3 в Rails отсутствовал четко определенный, документированный общедоступный API для расширений и подключаемых модулей, что приводило к проблемам, когда изменения Rails ломались. обезьяны выполняется плагинами. Благодаря слиянию Rails 3 / Merb Rails получил определенный общедоступный API с набором тестов,[9] предоставляя пользователям и разработчикам плагинов более понятный и стабильный API для построения, уменьшая поломку плагина от выпуска к выпуску.[8]
Производительность и масштабируемость
Некоторые ранние версии Rails получили плохую огласку из-за недостаточной производительности, часто из-за путаницы разработчиков с запросами ActiveRecord. Дэвид Хайнемайер Ханссон, создатель Rails, заявил, что Мерб переписал многие основные части Rails, чтобы быть быстрее,[8] и включил эти изменения из Merb в слияние Rails 3, пообещав пользователям, что «Rails 3 получит все внимание к производительности, которым известны ребята из Merb».[8]
Рекомендации
- ^ Зигмунтович, Эзра. «Нет кода быстрее, чем нет кода». Twitter. Получено 2 апреля 2015.
- ^ Грозенбах, Джеффри. «Происхождение»: «Нет кода быстрее, чем его нет»."". Twitter. Эзра Зигмунтович. Получено 2 апреля 2015.
- ^ "Мерб на GitHub". GitHub.
- ^ Бун, Пол (18 сентября 2008 г.). "Сравнение производительности Rails / Merb (на mongrel, 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 г.). "Merb * is * Rails".
- ^ а б c d Ханссон, Дэвид Хайнемайер (23 декабря 2008 г.). "Merb объединяется с Rails 3!". weblog.rubyonrails.org. Получено 18 июля 2020.
- ^ а б Кац, Иегуда (23 декабря 2008 г.). «Слияние рельсов и Merb». yehudakatz.com.
- ^ Аймонетти, Мэтт (9 ноября 2008 г.). «Мерб 1.0 выпущен». Мербист.
- ^ "зависимости от merb-core gem". 23 марта 2010 г.
- ^ "зависимости merb gem". 23 марта 2010 г.