JavaScript Is Enough

arbayi 20 points 12 comments March 22, 2026
geajs.com · View on Hacker News

Discussion Highlights (6 comments)

Brysonbw

Interesting project

aappleby

You wrote and shipped this in three days, eh?

tkzed49

> Solid has signals and createEffect... Gea takes a different path. It introduces no new concepts at all. proceeds to introduce Stores and Components what makes this magically easier than Solid, or any other Proxy-based reactive store frameworks?

afavour

> The Vite plugin analyzes your JSX at build time, figures out which DOM nodes depend on which state, and wires up surgical patches — invisibly. This part interests me… if it’s able to be brought to React somehow. Too many sites are shipping entirely reactive DOMs where only a tiny minority of content actually changes. The fact that the entire project appears to have been written in three days, however, gives me some deep doubts.

cattown

Two-way props! Yikes! That was a mess in the first version of Angular. I thought the consensus was that two-way props binding just opened the door to difficult to understand side-effect laden code.

nine_k

Disclaimer: I only read description, did not try to code. What I like: the smart compiler that determines the actual dependencies, no need to declare them. Apparently the compiler is so smart as to compute the DOM diffs at compile time, which eliminates the need for virtual DOM. What kills it for me: the two-way binding. The binding should be one-way to preserve your sanity as the project grows. Two-way bindings allow to build highly reactive Ruby Goldberg machines where anything can trigger anything else, and you won't know, because it's just a mutation of a property somewhere, indistinguishable from a non-reactive mutation. Two-way bindings are callback hell squared. I want one-way data binding, immutability, and basically FRP. The biggest demonstration of FRP's immense real-life success is not React. It's the spreadsheet. This may be good for small pieces of interactivity. But I likely would go for HTMX for that.

Semantic search powered by Rivestack pgvector
3,471 stories · 32,344 chunks indexed