JavaScript Is Enough
18 points
1 hour ago
| 7 comments
| geajs.com
| HN
nine_k
33 minutes ago
[-]
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.

reply
aappleby
58 minutes ago
[-]
You wrote and shipped this in three days, eh?
reply
tredre3
47 minutes ago
[-]
It was likely almost entirely AI-generated but there are two oddities:

- MIT — Copyright (c) 2017-present Armagan Amcalar: It would be an interesting bout of hubris to give yourself a copyright that predates the beginning of the project by 9 years.

- The README lists sizes as "kb" rather than "KB": I find it odd that it would get units wrong unless it was specifically instructed to do so?

reply
arbayi
48 minutes ago
[-]
not the author of the gea but from what I can see in the readme, the ideas go back to 2017, erste.js and regie were earlier versions of the same concept.

https://github.com/dashersw/erste https://github.com/dashersw/regie

reply
afavour
49 minutes ago
[-]
> 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.

reply
tkzed49
56 minutes ago
[-]
> 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?

reply
cattown
46 minutes ago
[-]
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.
reply
Brysonbw
1 hour ago
[-]
Interesting project
reply
koakuma-chan
1 hour ago
[-]
No it's not. Stop upvoting AI slop.
reply
arbayi
45 minutes ago
[-]
not the author of the gea but from what I can see in the readme, the ideas go back to 2017, erste.js and regie were earlier versions of the same concept.

https://github.com/dashersw/erste https://github.com/dashersw/regie

reply
leemcalilly
52 minutes ago
[-]
JavaScript blows
reply