logoalt Hacker News

leeoniyayesterday at 3:14 AM1 replyview on HN

> The react model - where you just update the global state and re-render everything - is slower but easier on the brain. The signals model is faster, but so much effort.

there are multiple frameworks now that do fine-grained diffing without relying on signals, proxies, or any other reactive primitives. they basically have the top-down react model but much faster and without the weird concepts like hooks and manual/wasteful dependency arrays.

my favorite one is ivi-js: https://github.com/localvoid/ivi

it's just 8% slower than the fastest / ugliest / imperative / unmaintainable vanilla js you can eventually arrive at if all you care about is winning benchmarks.

https://krausest.github.io/js-framework-benchmark/2025/table...


Replies

localvoidyesterday at 6:06 AM

Just want to add that even though ivi is using tagged templates, I am strongly against using tagged templates to describe UIs as a Web Standard.

One of the most useful features that could make a lot of incremental computation problems easier is "value types"[1], but unfortunately it seems that isn't going to happen anytime soon. The biggest constraint when developing an efficient UI framework with good DX is JavaScript. Also, it would be nice to have `Node.prototype.insertAfter()` :)

1. https://github.com/tc39/proposal-record-tuple

show 1 reply