может кто-то elm пробовал?
@achikin у какого именно? На атомах глобальных? Это то же самое, что ваша рефрейм база: второй такой же компонент будет ровно в то же место писать, мешая первому. Возможно только будет казаться, что зарефакторить чуть проще (меньше кода править)
Вообще у :clj: и :cljs: главный подводный камень – опыт разработки. Это может быть менее заметно на бекенде, где всего кажется меньше. На современных фронтэндах обычно заметно больше всего происходит, и у каждого скрина свой мини бекенд. Структура большого приложения +- та же, но в js над ней колдует 10 девов, а в :cljs: – 3. И этим троим теперь нужно иметь дело с более общей картиной. Либо разработка просто быстрее движется, и проблемы организации кода проявляются раньше/чаще
из личного опыта: на всех предыдущих objC/с#/python/java + js проектах всегда ботл неком была скорость написания кода. на всех кложа/скрипт проектах ботл неком было принятие решений "что именно надо нахачить".
В этом и был вопрос - чем глобальный атом в Реагенте лучше\хуже базы в re-frame? Может технические проблемы есть?
Кстати в Objective C я 5 лет назад реализовал примерно ту же модель, что и в re-frame, за исключением того что обновления вью делались вручную.
я помню, в проектах на классических оо-языках проблема была в рефакторинге и переиспользовании. при смене бизнес-лигики было трудно адаптировать все эти навороты из классов.
оно нормально смотрелось в единичный момент, но трудно поддавалось изменению.
@igrishaev Как-то так? https://www.johndcook.com/blog/2011/07/19/you-wanted-banana/
Помимо рантайм-гориллы и джунглей ещё и горилла и джунгли времени компиляции, конечно.
@achikin Чисто прагматически - перестанут работать инструменты типа того же re-frisk
, перемотка событий в прошлое и бесплатное воспроизведение состояния для тестирования.
@achikin Компоненты надо параметризовать просто путями в базе.
@achikin ну ты назвал рефрейм злом, потому что "срезают углы и кладут всё подряд в базу"; я говорю, что глобальный атом – те же абсолютно проблемы, только без рефрейма, и, как следствие, рефрейм тут ни при чем
предложенные тобой локальные атому реагента - неполное решение ровно с того момента, как тебе хоть что-то из них нужно будет заперсистить между сессиями. тут и появится глобальный атом, а следом за ним и весь мусор
короче, "ошибка пилота"