freactive (pronounced "f reactive" for functional reactive) is a new high
performance, pure Clojurescript, declarative DOM library:
https://github.com/aaronc/freactive

It has a syntax very similar to that of Reagent and was in fact inspired by
Reagent, Om, and others.

I came up with it when I was doing some DOM programming after having
spending a fair amount of time working with JavaFX (see my soon to be
announced library fx-clj: https://github.com/aaronc/fx-clj). I thought Om
and Reagent were very nice to work with (and actually inspired some what I
did with fx-clj), but I felt from my desktop GUI experience, that I could
take things a few steps further.

freactive's main advantages over existing solutions are probably built-in
animations support and slightly higher performance.

Here are it's goals from the README:

   - Provide a *simple, intuitive API
   <https://github.com/aaronc/freactive/#hello-world>* that should be
   almost obvious to those familiar with Clojure (inspiration from reagent
   <https://github.com/reagent-project/reagent>)
   - Allow for *high-performance
   <https://github.com/aaronc/freactive/#performance>* rendering *good
   enough for animated graphics <http://aaronc.github.io/freactive/dom-perf>*
   based on a purely declarative syntax
   - Allow for *reactive binding of any attribute, style property or child
   node*
   - Allow for *coordinated management of state via cursors
   <https://github.com/aaronc/freactive/#cursors>* (inspiration from om
   <https://github.com/swannodette/om>)
   - Provide *deeply-integrated animation
   <https://github.com/aaronc/freactive/#animations>* support
   - Allow for cursors based on paths as well as *lenses*
   - Provide a generic items view component
   <https://github.com/aaronc/freactive/#items-view> for *efficient viewing
   of large data sets*
   - *Minimize unnecessary triggering of update events*
   - Coordinate all updates via *requestAnimationFrame* wherever possible
   - Be easy to debug
   <https://github.com/aaronc/freactive/#debugging-reactive-expressions>
   - Be written in *pure Clojurescript*
   - Provide support for older browsers via polyfills (not yet implemented)

Any feedback is welcome!!

I'm not sure I like the name "freactive" - but it was the best I could
think of at the time. Suggestions for alternative names are welcome.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to