UIs as Values
summary
Claim: UIs are immutable values and can be generated and diffed on the server, not just described as a topic. Implementation: Canvas.jl builds UI functions that produce a Julia-side virtual DOM diff+JSON patches sent to the browser; it uses Patchwork.jl and Gadfly for plots and composes with Lift signals to turn slider input into live plot updates (example: random-walk plot of 1,000 steps). Status: beta works with hot-swapping but patching sometimes needs refresh.
AI-written summary · about
chapters (10)
- 0:00Julia UI framework
- 1:29UI as data function
- 3:41Layouts and compositions
- 4:23Adding interactive plots
- 6:28Live coding demo
- 8:44Dynamic UIs with signals
- 11:19Efficient updates with virtual DOM
- 12:46Values in UI design
- 13:51Credits and inspirations
- 14:32Q&A
related talks
34mFunctional UIs and Unidirectional Dataflow
40mFunctional Client-Side ClojureScript UI Programming with Webfui
36mData Driven UIs, Incrementally
32mUI, Pure and Simple
32mElectric Clojure Differential Dataflow for UI (KEYNOTE)
35mDeclarative UIs in a functional language
34mServer Driven UIs: the future of cross-platform rendering
35mClojureScript & User Interfaces: Simplicity yields Possibilities
