This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-04-07
Channels
- # beginners (41)
- # boot (38)
- # cider (17)
- # cljs-dev (52)
- # cljsjs (3)
- # clojure (200)
- # clojure-italy (8)
- # clojure-russia (50)
- # clojure-spec (28)
- # clojure-uk (45)
- # clojurescript (28)
- # core-async (9)
- # core-matrix (2)
- # cursive (16)
- # datascript (15)
- # datomic (50)
- # dirac (5)
- # emacs (20)
- # figwheel (8)
- # flambo (2)
- # hoplon (10)
- # incanter (1)
- # jobs (1)
- # leiningen (2)
- # lumo (26)
- # mount (171)
- # off-topic (22)
- # om (54)
- # onyx (2)
- # pedestal (27)
- # re-frame (10)
- # reagent (12)
- # ring (27)
- # ring-swagger (3)
- # rum (2)
- # slack-help (1)
- # spacemacs (134)
- # specter (6)
- # sql (15)
- # testing (20)
- # uncomplicate (5)
- # unrepl (49)
- # untangled (9)
- # yada (29)
Всем привет! Начал изучать clojure(script) на небольшом пет проектике. Решил заюзать вместо бутстрапа семантик -> вот нашел туториал и либу на cljsjs. Подскажите, кто более опытный в clojurescript, как Вам данный подход? https://www.opensourcery.co.za/2017/02/12/using-semantic-ui-react-with-re-frame/
мы используем re-frame и semantic но без react биндингов. У меня сложилось ощущение, что react-биндинги более баженные и разрабатываются с задержкой, в большинстве случаев нас устраивает верстка стандартными классами + выставление behavior’ов и setting’ов через react lifecycle method’ы
@kishanov спасибо!
@nicola Николай, а если есть rum, зачем более тяжелый re-frame?
имхо rum напрямую с re-frame сравнить - как теплое с мягким. более корректно сравнивать связку reagent+re-frame и rum+scrum
> имхо rum напрямую с re-frame сравнить - как теплое с мягким. более корректно сравнивать связку reagent+re-frame и rum+scrum Хорошо, а можешь пожта дать такое сравнение?
scrum сырой, я бы не советовал за него браться
@U0FR82FU1 а ты хочешь сделать аналог re-frame?
@U0L7JD40P не то чтобы аналог (все подобные решения одинаковы), а просто что-нибудь для rum, чтобы можно было быстро стартовать
вот интересно, можно было бы rum с re-frame заюзать как то
вроде бы ре-фрейм изначально пилили отдельно от всех оберток для реакта, но тк реагент самый популярный, то больше начали пилить под него
re-frame сильно завязан на reagent’овский atom и макрос reaction, чтобы subscription’ы автоматически пересчитывались
мне кажется было бы круто отвязать его от этого 😄
Я выполз из криозаморозки, ничего не помню за последний год, расскажите что за последний год изменилось из знакового? Последнее что помню - clojure.spec / om-next-alpha
а что, там чтото не как в ванили с rowHasChanged & dataSource - или эти 2 уже считаются новыми?
@rmuslimov такое стравнение дать не могу - я с rum/scrum не работал. 3й год делаю большое приложение на reagent+re-frame, могу только рассказать почему одним reagent’ом не обойтись и как re-frame помогает
в reagent’е ничто не форсирует как менеджить и шарить state - хошь атомы в внутри компонента на лету создавай (удобно для форм), хошь глобальные в namespace’е делай. Но как только появляются event’ы, котоыре должны каскадно поменять состояние нескольких компонентов (например, данные с сервера приехали) - это надо как-то систематично делать
re-frame дает 1 глобальный атом для state’а и унифицированный event loop как его обновлять и что перерендеривать. удобный паттерн
мы год пилили на одном reagent’е и когда кода стало ~20K (примерно 100 экранов) мейнтейнить стало невозможно. re-frame тоже не коненое решение, но по крайней мере можно понять, где что меняется
re-frame завязан на reagent’овский atom (который считает deref’ы и триггерит перерендеривание) и на макрос reaction который делает subscription’ы
собсно re-frame’овская “база” - это 1 reagent’овский atom. re-frame’овские subscription’ы - это путь в этой базе (в контексте get-in’а) которые автоматически пересчитываются когда этот кусок atom’а меняется
а, тогда должно без проблем работать. кажется мне, что оно бы на каком-нибудь андроид-телефоне стареньком в браузере еле шевелилось бы
😃 у нас минимальное требование к клиента - макбук прошка + локальная сеть для коннекшена 🙂
https://youtu.be/Z1PzrC5DmmQ?t=12m - где-то с 12й минуты можно понять масштаб трагедии
client-side routing - bide. secretary выкинули потому что рауты макросами определять неудобно
я посылал presentation proposal на clojure/west на тему “экспериенс репорт пиления энтерпрайзного приложения на реагенте и рефрейме“, но они пореджектили
теперь жду когда у нас очередной аврал закончится чтобы начать серию статей на эту тему строгать - у меня накипело 🙂
накипело не в смысле хорошего или плохого, а в смысле что в интернете дальше todomvc примеров приложений нет, а когда сталкиваешься с реальными проблемами (например, как правильно сделать каскадные вызовы к API в зависимости от значений в response’ах или как сделать формы, в которых выбор значения в одном dropdown’е определяет структуру и значения других компонентов формы) - информации мало
за 3 года мы фундаментально переписывали все уже 5 раз, потому как приложение чуток подрастает - старая архитектура начинает трещать по швам
Следующий планировали с yogthos - про middleware и у меня там есть, что накинуть - я тут свой гибрид pedestal + onyx написал