Clojure: Realtime collaborative web apps without ClojureScript
Published on: 2025-04-30 20:40:23
Clojure: Realtime collaborative web apps without ClojureScript 07 Apr 2025
Last week I made a fun little multiplayer web app. I've embedded it below:
A few things to note about this web app:
It is streaming the whole element of the page from the server to the client every 200ms over SSE (server sent events).
element of the page from the server to the client every 200ms over SSE (server sent events). It has zero ClojureScript.
It has zero user written JS.
It uses a tiny 11.4kb (brotli compressed) hypermedia framework called Datastar.
What about performance?
Surely sending down the whole main body on every change is terrible for performance?!
There's no canvas here. There's no SVG. There's just a 1600 cell grid, each cell with it's own on-click listener. This is an incredibly naive implementation. Partly, to show how well it performs. Your CRUD app will be fine.
Under the hood Datastar uses a very fast morph algorithm that merges the old fragment with the new Read full article.