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.