One language. Server-rendered HTML. Surgical client-side DOM updates. No JavaScript tax.
HTMX made server-driven UI mainstream again. You render HTML on the server, swap fragments, and skip most of the SPA stack.
Then the interface needs a counter, a dropdown, a form that updates state without a round trip, or a progress indicator driven by a request. HTMX stops short. You reach for JavaScript, then Alpine.js, then a build chain, and suddenly the "one language" server app has a second language and a second toolchain.