// the take
Rum is a thin ClojureScript wrapper around React (and a pure-JVM static HTML generator when used from Clojure) for building UI without an opinionated state model. It's for Clojure/ClojureScript developers who want direct access to React's component model without the state-management conventions of something like Reagent or re-frame.
- Genuinely small — core is ~900 lines, so you can actually read and understand the whole implementation instead of trusting a black box
- True isomorphic rendering: the same component runs client-side through React and server-side via render-html, which is pure JVM with no Node dependency for SSR
- Doesn't dictate state storage — atoms, cursors, derived atoms, DataScript, or plain JS objects all work, so you're not locked into a specific architecture
- Daiquiri (its Hiccup compiler) pre-compiles common forms to React calls at compile time and exposes a warn-on-interpretation flag so you can catch the cases that fall back to slower runtime interpretation
- Explicitly in support mode — the README states no new development is happening and the author is looking for someone to take over maintenance, which is a real risk for anyone starting a new project on it
- Last push was April 2025, consistent with that support-mode status — don't expect fixes for new React versions or edge-case bugs
- State management is BYO: cursors and derived-atom chains are minimal primitives, not a full solution, so anything beyond small-to-medium apps means building your own data layer on top
- Mixins and React Hooks can't be combined in the same component — you have to commit to one style per component, which bites if a mixin-based codebase later wants hooks-based patterns
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →