This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-11-17
Channels
- # bangalore-clj (4)
- # beginners (60)
- # boot (63)
- # cider (2)
- # cljs-dev (22)
- # cljsrn (3)
- # clojars (32)
- # clojure (133)
- # clojure-gamedev (1)
- # clojure-germany (17)
- # clojure-italy (1)
- # clojure-russia (11)
- # clojure-serbia (16)
- # clojure-spec (35)
- # clojure-uk (75)
- # clojurebridge (1)
- # clojurescript (83)
- # community-development (25)
- # core-async (43)
- # cursive (15)
- # datomic (28)
- # emacs (2)
- # fulcro (108)
- # graphql (5)
- # hoplon (15)
- # lein-figwheel (6)
- # leiningen (39)
- # lumo (106)
- # new-channels (1)
- # off-topic (4)
- # om (26)
- # om-next (53)
- # onyx (46)
- # other-languages (2)
- # perun (1)
- # protorepl (5)
- # re-frame (13)
- # ring (18)
- # ring-swagger (1)
- # rum (6)
- # shadow-cljs (82)
- # spacemacs (19)
- # specter (5)
- # sql (3)
- # test-check (31)
- # unrepl (12)
- # untangled (2)
- # vim (109)
Прочитать 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
Провожу сейчас инспекцию фронтэнд-кода, пришел к выводу, что re-frame - это зло. Если людям давать возможность срезать угол, положив стейт в базу - они так и будут делать к месту и не к месту. В итоге у нас половина компонентов прибита гвоздями к app-db и их невозможно переиспользовать. Пример из сегодняшнего: есть форма, данные формы хранятся в базе, есть эвент, который делает валидацию формы, никаких параметров не принимает, идет сам ищет форму в базе, валидирует и туда же рядом в базу кладет результаты валидации. Из-за этого переиспользовать ее затруднительно.
Можно было то же самое сделать, сложив стейт в атом внутри hiccup компонента формы и повесив на этот атом watcher в котором производилась бы валидация и генерация сообщений об ошибках, которые складывались бы в другой атом внутри формы, но увы.
А случилось так потому, что взяли люминус, где уже re-frame был прикручен изначально, кинулись изучать re-frame и стали все делать через базу, вместо того чтобы побольше внимания уделить возможностям Reagent. А вновь приходящие бойцы смотрели уже существующий код и делали так же как там.
Вообщем смысл этого ранта в том, что прежде чем тащить в проект красивый блестящий re-frame - подумайте нельзя ли того же достичь реагентом и заранее ограничьте то, что будет класться в базу.
ИМХО, проблема в недостаточном опыте работы с технологией и понимании архитектурных подходов
то же самое и в JS происходит
Кажись, фронтэнд обречён, если даже clojurescript не помогает