Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

100% Positive

Analyzed from 458 words in the discussion.

Trending Topics

#frond#state#readonly#effect#dependency#react#runtime#seems#code#type

Discussion (12 Comments)Read Original on HackerNews

yellow_leadabout 2 hours ago
The library, the website, the submission title, and even the comments by the author here, all written with AI. Sloptastic!
Chu4eeno12 minutes ago
There seems to be a ton of agents (openclaw or similar) set up instructed to just loop creating github projects or blogs and submit them to HN (optionally with a comment).

Several of them make/write about the same thing as well, so I wonder if they have a common origin.

jaenabout 4 hours ago
What's the advantage of this over Jotai / atomic state / computed signals, which seems to require 10× less code with mostly the same benefits?
killerstormabout 3 hours ago

   type ProfileSpec = Frond.NodeSpec<{
     readonly args: Frond.Args.None;
     readonly key: Frond.Key.Singleton;
     readonly deps: {
       readonly http: Frond.Dep<typeof HttpTransportNode>;
     };
    readonly result: Profile;
   }>;
This begs to be its own DSL rather than TypeScript-type-meta-programming.
eyelidlessnessabout 2 hours ago
I generally agree. But FWIW it does feel fairly idiomatic in terms of code written with Effect/API design in the Effect ecosystem. (Disclaimer: my Effect usage so far has been mostly casual, this observation is based on following the project and ecosystem pretty closely.)
adithyaharishabout 3 hours ago
Interesting approach.The lifecycle management and teardown story seems to be the main differentiator rather than state itself.How does Frond compare to Effect's Layer system? Is it essentially bringing Layer-like dependency graphs into the React runtime?
alfonsodevabout 3 hours ago
I understand it like events + state machine type of approach. Reacts only renders and emits events, and I guess the state machine imperatively will dictate to react what to render according to the result of executing whatever is in the state transition.
chaitralikakdeabout 3 hours ago
How does Frond handle cyclic dependencies? Is cycle detection built into the runtime, or is it left to the developer?
jatinsabout 3 hours ago
If I see this code in a new company I just joined I am quitting on day 1
romanonthegoabout 6 hours ago
I built Frond, a frontend runtime that makes your app's dependency graph explicit instead of leaving it scattered across provider order, enabled: user && api.ready guards, and logout teardown scripts.

The shape: your app is a graph of nodes — services, resources, screens. Each node declares its dependencies, how it's acquired, how it's cancelled, and how it's released, all in one place. The runtime resolves them in dependency order and tracks readiness, so React stays a renderer — it consumes a node that's already ready (useNode suspends until it is) instead of re-deriving that logic inside components.

Two engines run underneath. Effect handles the async work — execution guarantees, cleanup correctness, cancellation, and typed error channels. MobX handles state — granular observable state and live updates. You declare a node's dependencies, acquire, and release; Frond runs the rest on those two.

It's v0 and the API will still move.

eyelidlessnessabout 2 hours ago
I worked on a project a couple years back that would have benefited greatly from this approach. I look forward to giving it a spin when I have an opportunity.

I’m curious how much is React-specific, or rendering-specific for that matter. Context: the use case I had previously was “headless”, in the sense that state lifecycle was completely decoupled from rendering (with a thin library-agnostic bridge for presentation layer integration). Obviously that’s not a typical use case, I’m mainly curious because that design was partly driven by the kinds of inherent complexity that would nudge me to look for something like this in the first place.

charucharuabout 3 hours ago
How opinionated is Frond? Could someone adopt it incrementally, or does it need to own the entire application's dependency graph?