On Saturday, 29 November 2014 08:44:42 UTC-5, Nikita Dudnik  wrote:
> I don't think FRP and virtual-dom based frameworks are mutually exclusive 
> approaches to building front-ends. React (or any stand-alone implementation 
> of a virtual-dom) is perfectly combinable with FRP. Just keep your app's 
> state in one place, update it using your FR logic, use v-dom to rerender 
> everything when state changes.

I've been building a port of Elm's FRP system to Clojure/ClojureScript, and 
this is the approach I've been taking so far:

https://github.com/jamesmacaulay/zelkova/blob/d683225ff26c4af13d5d94d801b6dfc48b801bb8/examples/drag-and-drop/src/drag_and_drop/core.cljs#L102-L169

I think there's a lot of potential with approaches like this.

> But talking about ClojureScript there is no need for FRP because core.async 
> is much easier to learn and reason about.

I think it's probably true that core.async is easier to learn at first, for 
most people. But once you're comfortable with both of them, I think FRP systems 
*can be* a lot easier to reason about. I consider core.async to be a good 
low-level system for co-ordinating events, but everything you do with it 
requires poking channels with "the mutating stick," with all the complexity 
that entails.

FRP has its own conceptual hurdles, but I find the fact that FRP signal values 
are immutable is a huge win (immutable in the sense that composing signals 
together doesn't change how they behave). That being said, FRP is much newer 
territory than CSP, so if you're building applications with it top-to-bottom 
then you're likely to run into a number of problems whose solutions are still 
open research topics :P

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to