While we're on this topic, some of those at pizza last week may recall me talking about the state of front-end "reactive" web UI frameworks in 2026 and the various design choices they make.
One month earlier in the year, maybe April, I talked
about UI programming is actually an instance of
Incremental Computation. This is a broad class of often hard or under-solved problems in comp sci where a system typically gets small changes in its inputs and produces small changes in its output. In many cases, Incremental Computation seeks to find more optimal solutions than recomputing the output in full.
To make the relevance to web UI programming clear, the use of Virtual DOMs (VDOMs) is an incremental computation
technique. Updating DOM trees
are expensive, so many frameworks, including Elm, compute their next state in a lightweight VDOM and then diff this against the current DOM to produce a much smaller update.
It's an interesting question to ask "For those frameworks that *don't* use a VDOM, how do they solve the incremental computation problem?"
For solve it they must. If one has a complex form on screen with many fields, and a header and a footer and a user profile avatar up in the corner, and the needed change is to toggle on a <span>
First name is required</span>, it's too inefficient to rerender the whole DOM.
The Scala.js-based framework Laminar has been one
vocal advocate for a non VDOM approach (
Im not personally endorsing the "hack" claim in the article title, although I think it's a worthy, thought-provoking piece).
In some month late in the year, I aspire to do a talk on this VDOM-or-not-VDOM topic.
-Ben