A high-performance, pure ClojureScript declarative DOM library with reactive atoms, hiccup syntax, and built-in animations.
freactive is a high-performance, declarative DOM library for ClojureScript that uses hiccup-style syntax and reactive atoms to build dynamic user interfaces. It solves the problem of creating efficient, animated UIs with a purely functional approach, coordinating updates via requestAnimationFrame for smooth performance.
ClojureScript developers building interactive web applications that require high-performance rendering, such as data visualizations, animations, or complex UIs with real-time updates.
Developers choose freactive for its blend of Reagent-like simplicity with optimized performance, built-in animation support, and efficient reactive updates without the overhead of virtual DOM diffing.
High-performance, pure Clojurescript, declarative DOM library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Optimizes updates to minimize DOM operations via requestAnimationFrame coordination, enabling smooth animations with thousands of elements as shown in the performance example.
Uses intuitive hiccup vectors similar to Reagent, making it easy for ClojureScript developers to write UI components in a familiar, functional style.
Provides built-in easers and transitions for creating smooth animations directly within reactive expressions, reducing reliance on external libraries.
Reactive atoms and cursors offer automatic dependency tracking and state propagation, inspired by Om, for managing complex application state without virtual DOM diffing.
The library is explicitly labeled as experimental with outdated documentation, posing risks for production use due to limited testing and potential breaking changes.
Key components like the items view for large datasets are still a work in progress, and planned polyfills for older browsers are not yet implemented, limiting functionality.
As a ClojureScript-specific library with a smaller community compared to alternatives like Reagent, it lacks extensive resources, tutorials, and third-party plugins.