Fork me on GitHub
#clojure-russia
<
2017-11-17
>
achikin10:11:14

Прочитать Clojure for brave and true https://www.braveclojure.com/ Сделать все задачки с 4clojure http://www.4clojure.com/ Опционально прочитать Web Development with Clojure Дмитрия Сотникова https://pragprog.com/book/dswdcloj2/web-development-with-clojure-second-edition Очень не помешает посмотреть толки Ричарда Хикки https://changelog.com/posts/rich-hickeys-greatest-hits

achikin16:11:50

Провожу сейчас инспекцию фронтэнд-кода, пришел к выводу, что re-frame - это зло. Если людям давать возможность срезать угол, положив стейт в базу - они так и будут делать к месту и не к месту. В итоге у нас половина компонентов прибита гвоздями к app-db и их невозможно переиспользовать. Пример из сегодняшнего: есть форма, данные формы хранятся в базе, есть эвент, который делает валидацию формы, никаких параметров не принимает, идет сам ищет форму в базе, валидирует и туда же рядом в базу кладет результаты валидации. Из-за этого переиспользовать ее затруднительно.

achikin16:11:23

Можно было то же самое сделать, сложив стейт в атом внутри hiccup компонента формы и повесив на этот атом watcher в котором производилась бы валидация и генерация сообщений об ошибках, которые складывались бы в другой атом внутри формы, но увы.

achikin16:11:10

А случилось так потому, что взяли люминус, где уже re-frame был прикручен изначально, кинулись изучать re-frame и стали все делать через базу, вместо того чтобы побольше внимания уделить возможностям Reagent. А вновь приходящие бойцы смотрели уже существующий код и делали так же как там.

achikin16:11:02

Вообщем смысл этого ранта в том, что прежде чем тащить в проект красивый блестящий re-frame - подумайте нельзя ли того же достичь реагентом и заранее ограничьте то, что будет класться в базу.

Roman Liutikov16:11:05

ИМХО, проблема в недостаточном опыте работы с технологией и понимании архитектурных подходов

Roman Liutikov16:11:32

то же самое и в JS происходит

achikin16:11:12

Да, к сожалению даже самые крутые фреймворки опыт не заменят.

misha19:11:10

вы бы колхоз и без рефрейма нахачили бы. на глобальных атомах вместо базы, например.

achikin20:11:44

В большинстве мест - скорее всего да. А какие подводные камни у такого решения?

rustam.gilaztdinov22:11:48

Кажись, фронтэнд обречён, если даже clojurescript не помогает troll