Electric Clojure: Differential Dataflow for UI
summary
Electric compiles a unified Clojure/ClojureScript program (example: a 12-line program two‑clocks demo) into a client/server DAG with websocket crossings, running server code on the JVM and client code in CLJS. The compiler generates reactive missionary signals, eliminates request‑waterfalls by streaming server recursion synchronously, and performs automatic resource disposal and interrupting slow queries via offloaded threads. Differential dataflow produces diffs-on-the-wire for backpressure and virtual scroll windows, avoids a virtual DOM (no virtual DOM), and the demos (including a 40x robot playback) work as advertised.
AI-written summary · about
chapters (15)
- 0:00Intro
- 0:40Overview
- 1:00Two Clocks
- 3:40Simple Example
- 5:23Durtree Example
- 9:28How does this scale
- 10:50Disposal
- 12:43Clock
- 13:23Query Cancellation
- 16:45Lambda
- 17:40Tudo MVC
- 19:50Differential Dataflow
- 21:55Back Pressure
- 24:10Infinite Scroll
- 26:25Why Electric
related talks
32mElectric Clojure Differential Dataflow for UI (KEYNOTE)
40mFunctional Client-Side ClojureScript UI Programming with Webfui
39mWeb Apps in Clojure and ClojureScript with Pedestal
31mClojure at 4,000 msg/s-What We Learned, Loved, and Loathed
49mClojureScript: Fun and productive web development with next level tooling
35mClojureScript & User Interfaces: Simplicity yields Possibilities
28mPersistent data structures - good for UI
42mComposing Interactive Apps With Zelkova
