Size: a a a

Clojure — русскоговорящее сообщество

2019 May 22

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Redux за вычетом boilerplate, да.
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
Artur Dumchev
а тебе чем нравится / не нравится?
не нравится тем что слишком сложно. я чувствую себя как на картинке где functions, functions, functions. в том плане что я не понимаю зачем вот это всё event dispatch, event handling, effect handling, query, view, dom. я не понимаю почему нельзя всё это совместить просто в функции, которые меняют топлевелные ratom'ы. ratom'ы лежат в топлевеле неймспейсов, которые отвечают за какие-то части клиент-специфичной логики, но большая часть стейта и логики на сервере за rest api, и для того чтобы это всё не дублировать и не оборачивать на клиенте я некоторое время назад придумал https://github.com/alesguzik/live-components
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
там есть ещё в примерах counter, там не настолько в тупую в лоб сделано взаимодействие с rest и нормально сделан роутинг через bidi вместо прямых урлов
источник

A

Artem in Clojure — русскоговорящее сообщество
Алесь Гузик
не нравится тем что слишком сложно. я чувствую себя как на картинке где functions, functions, functions. в том плане что я не понимаю зачем вот это всё event dispatch, event handling, effect handling, query, view, dom. я не понимаю почему нельзя всё это совместить просто в функции, которые меняют топлевелные ratom'ы. ratom'ы лежат в топлевеле неймспейсов, которые отвечают за какие-то части клиент-специфичной логики, но большая часть стейта и логики на сервере за rest api, и для того чтобы это всё не дублировать и не оборачивать на клиенте я некоторое время назад придумал https://github.com/alesguzik/live-components
по аналогии с редаксом - твои редьюсеры и экшены
event dispatch
event handling
effect handling

query - твой мап ту стейт
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
я точно так же не понимаю зачем redux)
источник

A

Artem in Clojure — русскоговорящее сообщество
а большие приложения делал?)
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
мы пару лет делали приложение где было довольно много разных entity, были загрузки файлов, были бесконечно подгружаемые списки, были разные пользователи, был шаринг и всякое такое. большие это по каким меркам? типа "чем тяжелее самолёт тем лучше"?
источник

A

Artem in Clojure — русскоговорящее сообщество
Алесь Гузик
мы пару лет делали приложение где было довольно много разных entity, были загрузки файлов, были бесконечно подгружаемые списки, были разные пользователи, был шаринг и всякое такое. большие это по каким меркам? типа "чем тяжелее самолёт тем лучше"?
а страниц по урлам сколько было?
источник

v

vveare138 in Clojure — русскоговорящее сообщество
))))))
источник

v

vveare138 in Clojure — русскоговорящее сообщество
это троллинг уже!
источник

A

Alexander in Clojure — русскоговорящее сообщество
> гыгы, открыл для себя pyrsistent
он местами оч не быстрый
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
11 типов страниц, каждая в отдельном неймспейсе. общий для разных страниц стейт хранился в отдельных неймспейсах с функциями для работы с ним (ещё 10 неймспейсов). ещё 37 неймспейсов с разными ui-компонентами и вспомогательными штуками
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
это фронтенд
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
бэкенд 47 неймспейсов не включая cljc
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
ещё 14 cljc
источник

A

Artem in Clojure — русскоговорящее сообщество
Алесь Гузик
11 типов страниц, каждая в отдельном неймспейсе. общий для разных страниц стейт хранился в отдельных неймспейсах с функциями для работы с ним (ещё 10 неймспейсов). ещё 37 неймспейсов с разными ui-компонентами и вспомогательными штуками
то есть тебя устраивает твой вариант реализации?)
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
а что не так?)
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
да, меня устраивает. очень удобно находить какой код где, очень удобно из репла дёргать ивенты (просто функции вызываешь), очень удобно смотреть стейт (он в топлевеле), не нужно поддерживать кэш данных с сервера в каком-то сторедже и пытаться его обновлять в соответствии с результатами rest-запросов, и т.д.
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
компилятор проверяет что мои ивенты имеют смысл (в отличие от произвольных кейвордов)
источник