Для чего подходит хорошо Ruby on Rails?
Для быстрого bootstrap, quick'n'dirty прототипа приложения. Чтобы всю схему с базой данных запилить за 5 секунд с шаблонами и простой управлялкой. Потому что ты уже знаешь все косяки и подводные камни и названия библиотек, все это проходит за пять секунд.
Но! Разрабатывать долго и сложно на Рельсах превращается в филиал ада на Земле. Очень много магии, механизмы кеширования как часть фреймворка тесно переплетенная с логикой. А чего стоит интеграция с jQuery и вот эта вот магия с .js.erb, .json.jbuilder ? WTF? Вот так сидишь и смотришь на очередной суперпупер gem который делает за тебя весь кодинг. А I18n? А управление очередями, а Live Stream или как это сейчас называется?
Всего этого не знаешь и не замечаешь, пока не пробуешь изучать функциональные языки на подобие Clojure.
Изучение Clojure абсолютно точно делает тебя лучше, умнее, быстрее. Применение функциональных паттернов в Руби делает код более изящным и читаемым и разделение смыслов более явным.
Вот сегодня я почти полностью ушел от sqlite3 в пользу плоского YAML для сайта. Потому что зачем? В Clojure подобный фукнционал несет в себе формат EDN.
Вот например, отображать только те комментарии у которых есть поле коммент. Как это делается в базе, типа sqlite3, выборкой select * where comment is not NULL. Как делается через YAML?
myfile = YAML.load(File.read('my.yaml'))
затем уже
myfile["myarray"].reject{|i| !i.logo}
оставит в коллекции только те значения, которые нужны. Минус задержка на обращение к базе, код автоматически становится быстрее, минус еще одна зависимость, плюс к управляемости данными. Данные же сейчас доступны в простом текстовом редакторе, вам для этого не нужен никакой SQL клиент! Минус сложность связанная с языком запросов, он здесь становится просто не нужен!
И главное, программа стала проще.
Комментариев нет:
Отправить комментарий