UI, Pure and Simple
summary
A small Clojure virtual-DOM called Replicant renders hiccup from immutable app state and diffs only necessary DOM changes; a top-down render loop stores snapshots in a single atom and rerenders on swaps. Event handlers embed data tokens handled by a global dispatcher (set-dispatch) producing explicit action vectors; placeholders fill in input/form values at event time. Tests use a CSS-selector-based lookup on hiccup, transitions use an unmounting map, and composable aliases wrap imperative bits.
AI-written summary · about
chapters (12)
- 0:00Conceptual background
- 1:51Rendering with Replicant
- 3:53Testing in isolation
- 5:52State and event handling
- 8:40Declarative interactivity
- 10:58Behavioral testing
- 13:36Animations and transitions
- 16:44Advanced lifecycle hooks
- 19:11Abstractions and aliases
- 22:13Data-driven forms
- 25:25System integration
- 31:13Conclusion
related talks
40mFunctional Client-Side ClojureScript UI Programming with Webfui
34mFunctional UIs and Unidirectional Dataflow
28mPersistent data structures - good for UI
35mClojureScript & User Interfaces: Simplicity yields Possibilities
32mElectric Clojure Differential Dataflow for UI (KEYNOTE)
41mWeb Programming with Hoplon
45mResidential Programming without Mutable State
54mClojurescript and Om - Pragmatic functional programming in the Javascript Land
