Hacker News new | past | comments | ask | show | jobs | submit login

There's also HDOM, part of the larger Umbrella collection of libraries: https://github.com/thi-ng/umbrella/tree/master/packages/hdom

Purported benefits from the readme:

- Use the full expressiveness of ES6 / TypeScript to define user interfaces

- No enforced opinion about state handling, very flexible

- Clean, functional component composition & reuse, optionally w/ lazy evaluation

- No source pre-processing, transpiling or string interpolation

- Less verbose than HTML / JSX, resulting in smaller file sizes

- Supports arbitrary elements (incl. SVG), attributes and events in uniform, S-expression based syntax

- Supports branch-local custom update behaviors & arbitrary (e.g. non-DOM) target data structures to which tree diffs are applied to

- Component life cycle methods & behavior control attributes

- Suitable for server-side rendering and then "hydrating" listeners and components with life cycle methods on the client side

- Can use JSON for static components (or component templates)

- Optional dynamic user context injection (an arbitrary object/value passed to all component functions embedded in the tree)

- Default implementation supports CSS conversion from JS objects for style attribs (also see: @thi.ng/hiccup-css)

- Auto-expansion of embedded values / types which implement the IToHiccup or IDeref interfaces (e.g. atoms, cursors, derived views, streams etc.)

- Fast (see benchmark examples)

- Only ~6.2KB gzipped




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: