This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-02-24
Channels
- # announcements (3)
- # babashka (47)
- # beginners (40)
- # biff (21)
- # calva (12)
- # cider (2)
- # clj-kondo (31)
- # cljsrn (8)
- # clojure (14)
- # clojure-berlin (2)
- # clojure-conj (1)
- # clojure-dev (24)
- # clojure-europe (84)
- # clojure-italy (8)
- # clojure-nl (1)
- # clojure-spec (1)
- # clojure-sweden (2)
- # clojure-uk (2)
- # clojurescript (34)
- # clr (3)
- # community-development (1)
- # cursive (14)
- # datalevin (8)
- # datomic (5)
- # defnpodcast (2)
- # dev-tooling (1)
- # etaoin (4)
- # events (3)
- # fulcro (26)
- # graphql (3)
- # honeysql (6)
- # hyperfiddle (45)
- # lsp (40)
- # malli (1)
- # missionary (1)
- # nbb (18)
- # podcasts-discuss (1)
- # reagent (8)
- # reitit (2)
- # releases (2)
- # ring-swagger (1)
- # scittle (78)
- # shadow-cljs (96)
- # vim (7)
- # xtdb (3)
It seems recently “signals” have become a hot topic in the mainstream frontend ecosystem! At a glance, they don’t conceptually seem too different from good ol’ ratoms? Can someone help me understand if there is a significant difference?
I think that there's some differences between the modern signals libraries and reagent, mainly how they handle side effects
reagent doesn't have a clean delineation between a reaction that is for side effects and a reaction that is meant for calculation. that makes it hard to manage the different graphs that you may want to create
e.g. solid has a "signal" graph, which allows you to create spreadsheet-like reactive computations, and also an "effect" graph which allows you to create nested, disposable side effects. this allows solid to replace the typical "component lifecycle" with "effect lifecycle" and remove the VDOM that React uses to keep track of components
Ahhh, gotcha! Seems similarish to re-frame from that description minus the stuff about lifecycles/VDOM!
re-frame uses some of the same words but "effects" in reactive signals are very different conceptually than effects in re-frame
There are some clojurescript folks exploring these "signals" and their respective js libraries too if you want to see how they are approaching it. https://www.reddit.com/r/Clojure/comments/10ywila/clojurescript_bindings_to_solidjs/