Doing Rails Wrong 🔥 Горячее 💬 Длинная дискуссия
Диалог высмеивает современную тенденцию усложнять разработку на Rails, добавляя множество инструментов вроде Vite, React, TypeScript, Babel, PostCSS, Tailwind, ESLint, Prettier, Husky, Docker и Redis. Всё это оправдывается стремлением к «современности» и скорости, но приводит к громоздкой настройке.
В противовес этому демонстрируется простота «ванильного» Rails: один командой запускается мгновенно работающее приложение с быстрой загрузкой и формами. Ключевая идея — Rails уже содержит всё необходимое, а избыточные инструменты лишь создают сложность без реальной выгоды. Фраза «Просто используй Rails, блин!» резюмирует мысль: не усложняй там, где это не нужно.
Комментарии (205)
- Участники обсуждают растущую сложность современных веб-фреймворков, отмечая, что Rails предлагает более простой и "батарейками включенный" подход по сравнению с перегруженными инструментами JS-экосистемы.
- Многие выражают ностальгию по классическому Rails, критикуя такие новые решения, как Hotwire и Stimulus, за сложность освоения и недостаток документации, в то время как другие защищают их как "путь Rails".
- Поднимается тема чрезмерного усложнения проектов (over-engineering), особенно для небольших команд, где монолитные фреймворки (Rails, Django) часто продуктивнее разделения на фронтенд и бэкенд.
- JS-экосистема подвергается критике за постоянное "изобретение велосипедов", сложность инструментов и модульность, которая приводит к усталости от инструментария, хотя некоторые защищают её гибкость.
- Отмечается, что выбор инструментов должен определяться конкретными задачами проекта, а не модными тенденциями, и что проверенные временем технологии часто эффективнее для небольших и средних приложений.
Babel is why I keep blogging with Emacs
Автор испытывает двойственные чувства к своему блогинговому процессу в Emacs. С одной стороны, он завидует простым статическим генераторам сайтов, которые можно написать за пару тысяч строк кода и полностью контролировать. С другой, он продолжает использовать Org mode со встроенной публикацией, несмотря на её сложность и непрозрачность — экспортный код Org составляет свыше 20 000 строк, что делает его глубокое понимание практически невозможным.
Ключевая причина, по которой он не переходит на простой кастомный движок — это Babel, мощная система Org для выполнения кода прямо во время экспорта. Она позволяет запускать блоки кода на множестве языков, вставлять результаты (включая таблицы и изображения) в статью и использовать сессии для переиспользования данных. Это незаменимо для одновременной работы с данными, графиками и текстом, особенно в R.
Таким образом, несмотря на желание упростить процесс, необходимость в функциональности Babel перевешивает — её реализация с нуля заняла бы месяцы, что неприемлемо при ограниченном времени. Автор смиряется с сложностью Emacs, ценя его уникальные возможности.
Комментарии (71)
- Участники обсуждают использование Emacs и Org-mode для ведения блогов, включая выполнение кода через Babel и экспорт в различные форматы.
- Многие перешли на статические генераторы сайтов (Hugo, Zola, Pelican, Astro) из-за простоты или ограничений Org-mode, но некоторые интегрируют его через ox-hugo.
- Поднимаются вопросы о недостатках привязки разметки к редактору, преимуществах чистого Markdown и альтернативах вроде Pandoc или Quarto.
- Некоторые предпочитают минималистичные подходы: публикация сырых текстовых файлов или использование собственных скриптов для загрузки на S3.
- Отмечаются сложности с поддержкой формул, интерактивностью и зависимостями в различных инструментах.