finds.dev

tonsky/rum

Simple, decomplected, isomorphic HTML UI library for Clojure and ClojureScript

View on GitHub

★ 1,829HTMLEPL-1.0updated Apr 2025

// 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 →

// at a glance

Stars
1,829
Forks
126
Language
HTML
License
EPL-1.0
Last commit
14 Apr 2025

// nearby

If rum isn't quite it.

All repos →