Like Om but don't like LISP?

added by Dom Barker
10/14/2014 9:36:49 AM

349 Views

No more mutations!


4 comments

Robert Greyling
10/14/2014 9:52:02 AM
Hmm, I wonder how well this plays with something like [FKit](http://joshbassett.info/2014/take-your-code-to-the-next-level-with-fkit/)? Perfect together or do they just end up stepping on each other's toes? Maybe @nullobject has tried it? I'm keen to try out a few things with React and this looks good - immutable makes it awesome! I still need to give FKit a try, but would be interested in getting opinions before diving in.

Drew Peterson
10/14/2014 1:23:48 PM
So, @MostlyHarmlessD, if I understand this correctly this allows for re-rendering of individual react components without re-rendering the entire hierarchy? Does that translate directly to the DOM? My understanding of React is limited.

Mikael Brevik
10/14/2014 1:36:57 PM
Hi! I've haven't looked at FKit before now, but as with regular usage of React, it is simply the presentation layer/interface. This means, your domain-logic, controllers, what have you, should not occur in the views but in a separate location in your code base. There is no reason why you couldn't use the functional "building blocks" and combinators from something like FKit. As for using the immutable objects from FKit as data structure for Omniscient, you could probably do it in some way, but Omniscient really encourages the usage of cursors to pass into components. This way you can separate the different components from one another without them having to know about each other. As far as I can see FKit doesn't have support for cursors/lenses (yet?).

Robert Greyling
10/14/2014 1:45:38 PM
Yeah I figured Omniscient is very much geared towards the front end side of things - also still vey new to React, but if I'm gonna dive in, I like to do it properly if possible. There are a lot of very bad ways to use React it seems, and having done a bit of functional stuff with F# and erlang, this is the kind of thing I like to see thought about. FKit seems to be more focussed on utility methods and could help a fair bit with backend side of things. I was hoping they might play well together but might have to be one of those things you just jump in and try and see how it goes. @nullobject probably has a better idea on how the utility side of FKit applies here. We shall see :) Great job on the libs @mikaelbrevik and @torgeir - looking awesome!