Ruby on Rails: The Documentary
История фреймворка, который изменил скорость веб-разработки
Источник
Книжный куб
Оригинальный пост с рекомендацией документального фильма
О чем фильм
Документальный фильм рассказывает историю появления Ruby on Rails и то, как фреймворк стал прорывом своего времени. Основную часть истории рассказывает сам создатель, David Heinemeier Hansson, а также люди, которые помогали развивать Rails.
Rails дал возможность одному разработчику быстро набросать прототип и довести его до продукта. В фильме эта скорость разработки и удобство описываются как главный драйвер популярности.
Почему это был прорыв
Скорость разработки
Rails позволял быстро создавать веб-приложения без тяжелой инфраструктуры и сложных сетапов.
Соло-продуктивность
Один человек мог сделать рабочий прототип и довести его до продакшена.
Обратная сторона успеха
Производительность
При росте нагрузки стоимость инфраструктуры резко увеличивалась - решения на Rails становились дорогими при масштабировании.
Convention over Configuration
Имплицитные конвенции удобны, пока команда их разделяет. Но со временем появляется сложный дебаг, особенно если кто-то через метапрограммирование меняет базовое поведение. Этот принцип описан как convention over configuration. Автор поста отмечает, что лично ближе к подходу Explicit is better than implicit из The Zen of Python.
Опыт через курс CS169 (Berkeley)
- •Ruby on Rails использовался как базовый фреймворк.
- •Продвигались TDD и высокий code coverage.
- •Учили BDD и работе с Cucumber.
- •Показывали деплой через Capistrano.
- •Обсуждали идею DSL-подобного кода как "текста на человеческом языке".
Влияние и наследие
В продакшене автор поста Rails почти не писал, но видел как идеи фреймворка проникали в другие экосистемы - например, паттерн ActiveRecord. Документалка объясняет, почему Rails стал популярным, но не отвечает, почему он исчез с радаров.
Люди, которые фигурируют в фильме
David Heinemeier Hansson
создатель Rails
Jason Fried
Founder & CEO at 37signals
Tobias Lütke
CEO Shopify, rails core team (2004-2008)
Jeremy Daer
37signals, rails core team (с 2005)
Jamis Buck
MongoDB, rails core team (2005-2007)

