Build blazing-fast, reactive UIs in pure TypeScript/JavaScript – no virtual DOM.
Aberdeen offers a refreshingly simple approach to reactive UIs. Its core idea:
Use many small, anonymous functions for emitting DOM elements, and automatically rerun them when their underlying proxied data changes. This proxied data can be anything from simple values to complex, typed, and deeply nested data structures.
Now, let's dive into why this matters…
Why use Aberdeen?
- Simple: Express UIs naturally in JavaScript/TypeScript, without build steps or JSX, and with a minimal amount of concepts you need to learn.
- Fast: No virtual DOM. Aberdeen intelligently updates only the minimal, necessary parts of your UI when proxied data changes.
- Awesome lists: It's very easy and performant to reactively display data sorted by whatever you like.
- Tiny: Around 5KB (minimized and gzipped) and with zero runtime dependencies.
- Batteries included: Comes with client-side routing, revertible patches for optimistic user-interface updates, component-local CSS, helper functions for transforming reactive data (mapping, partitioning, filtering, etc) and hide/unhide transition effects. No bikeshedding required!
Why not use Aberdeen?
- Lack of community: There are not many of us -Aberdeen developers- yet, so don't expect terribly helpful Stack Overflow/AI answers.
- Lack of ecosystem: You'd have to code things yourself, instead of duct-taping together a gazillion React ecosystem libraries.