Could we make TUIs with re-frame2?
I did something similar with Hyperlith (Datastar). https://youtu.be/N1lpP13iLWY
Or even better, render a TUI and web app from the same code like Zach https://www.youtube.com/watch?v=08AnxqnhTcs&t=238s&pp=0gcJCQYLAYcqIYzv
I suppose it would be implementing a new adapter targeting charm.clj?
Awesome. > Might yet, tweak it to include nice features of Replicant Why not replicant itself as a target?
A few significant architectural mismatches. Like no-component reactivity. No concept of "context" which is needed for many frames on a page (Story, kinda stuff). But it is hard to be an expert in all these matters, so perhaps I'm misunderstanding. In due course, there's no blocker for others to create their own adaptor.
Gotcha. Excited to take it all for a spin :)
Re-frame is about state. How you represent it is up to you.
@tomisme yeah that would be adapter layer. I'm still figuring that part out (soon). Initially I was keen on supporting a variety of frontends, Uix, Helix, Reagent. But I've got distracted onto tooling and hanven't got back to it yet. Also, I'm starting to wonder if helix is worth the effort - it really is all-in on React hooks. Uix looks more reasonable but I'm not very knowledgeable about any of them really, so cautious.
As an experiment, I have an adaptor for Reagent-slim which is a cut down version of Reagent which just has the essentials (Reagent grew a few too many features over the years). Might yet, tweak it to include nice features of Replicant. Maybe.
The new version of re-frame-10x (called re-frame2-xray) is taking all my time currently
And, yes, I'm acutely aware that re-frame2-xray is a human-facing bit of tech and really all the work should be going into the AI facing tech (`re-frame2-pair` and mcp) but its just an itch I have to scratch.
Proper inline app-db diffing ...
(this is within re-frame2-xray, the replacement for re-frame-10x)
Fulcro beat us to TUIs 😁 https://clojurians.slack.com/archives/C06MAR553/p1779832389406569?thread_ts=1779832389.406569&cid=C06MAR553
It lives
That is a re-frame2 tool called Story capturing various rendered states of a given UI component (a https://storybook.js.org/docs/get-started/why-storybook equivalent for re-frame2)
And in this screenshot, Story is displaying various "UI states" for xray (which is just re-frame-10x)
So that screenshot is significant because it shows three technical layers re-frame2 -> xray -> Story