Composing Applications
summary
Braid implements plugin-like extension and inversion-of-control for a chat app by turning features into independent cljc micro-apps that register into a central module system and expose typed extension points as functions. Implementation uses Clojure/ClojureScript, re-frame, figwheel hot-reload, atoms and a central registry; examples extracted include stars, search, embeds and emoji, moving roughly half the code out of core. Hot on/off works in development; runtime production toggling is planned but not yet finished.
AI-written summary · about
chapters (8)
- 0:00Introduction to Braid
- 1:27Problem with layered architecture
- 3:52Feature-based organization idea
- 5:37Requirements for plugin system
- 7:43Exploring related concepts
- 8:25Implementation in Braid
- 11:36Current state and caveats
- 13:01Results and future work
related talks
31mre-frame your ClojureScript applications
36mNo Strings Mobile App Dev for Clojure
35mClojureScript & User Interfaces: Simplicity yields Possibilities
32mFrameworkless Web Development in Clojure
21mLLMs + Clojure = Who needs frameworks?
34mBuilding a Collaborative Web App with ClojureScript
29mMobile Apps with ClojureScript
13mRun, Build and Grow Small Systems Without Leaving Your Text Editor
