Clojurians
# om

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

ag 05:00:42

anyone here who switched from om.next to re-frame? or vice-versa? Sorry for the rant, but I don't understand why people claim om.next to be "hard" and re-frame to be simpler? I feel like it's complete opposite. I'm trying to understand all re-frame's event's, event handlers, subscriptions, effects, co-effects, interceptors, whole deal with the signal-graph etc. In my book is not simplicity. Or that's just my cognitive bias and re-frame really is simple and clean model as many describe it? I really feel that om.next although not easy to grok, in the long run makes things simpler. And I thought re-frame is easy but makes things complex over time. Thoughts?

tony.kay 06:41:48

@ag I maintain #fulcro (library around Om Next) and I have at least one commercial user that came from re-frame. You can read their experience on the website under testimonials: https://fulcrologic.github.io/fulcro/

tony.kay 06:42:20

You’re asking on a biased channel, so you’re likely mainly to hear from fan-boys like me :slightly_smiling_face:

ag 06:45:28

Okay, maybe I should ask in #re-frame channel as well. Oh dear... I feel I will be hated :wink:

claudiu 07:58:20

@ag personally think re-frame is simpler, is also due to the amount of resources & examples :) there like a ton of docs, videos etc :)

ag 08:05:20

@claudiu maybe because the project is older? For example: Javascript has wider audience, more matured, there's a lot more learning material, yet it doesn't change the fact that Clojurescript (or Elm or Purescript) are much better suited to build larger apps and minimize incidental complexity. And one can argue that JS with ES6/ES7 features is not easier to learn than Clojurescript. I know - it's not fair comparison and very wrong analogy, but I couldn't come up with a better one

claudiu 08:14:03

@ag don't think so :) om-next seems to be designed from the getgo to be like a incredibly flexible blueprint for building your apps on. The gotcha I think with this flexibility there a lot of missing pieces.

claudiu 08:16:00

Seema like a structure for people to build there own "re-frame" on, make decisions about the approach that works for them best, and fill in the missing pieces for there approach.

claudiu 08:18:36

Personally cant do that, I only have a few hours a day for clojure out of my personal life :) Went with #fulcro , to get docs,videos & most of the missing pieces filled.

claudiu 08:19:35

Depends on the project & team I guess :)

claudiu 08:21:23

But I do react&redux etc... At work. And really think om-next(fulcro) is amazing. Would not trade it for re-frame :)

claudiu 08:24:13

@ag and also for on-next & fulcro you can do clj server side rendering and it's really easy. There examples out there. Reframe not so much :)

ag 08:29:52

I'm not saying that Om.Next is not easy to learn. It's hard. it is damn hard. I had to learn both Clojurescript and Om.Next at the same time. I thought about giving up multiple times (on Om.Next not CLJS). And people kept saying that Re-frame is easier. But I personally don't find it easier. It might be for small apps. But I feel like tracing ins and outs of data of some complex shape may become quite a bottleneck, esp. for heavy data driven apps. Unlike Re-frame, Om.Next's model IMO makes it easier to track data. If Redux model so awesome, why Facebook hasn't adopted it internally?

claudiu 08:33:07

Totally agree :) also just learned cljs & om-next at the same time :)) cljs was a breeze om next really gave me a hard time (cant say I know it now) :)) but reframe model is similar to redux and I know where that leads for big apps :)

petterik 19:35:18

Just launched our site built with om.next, datascript and datomic: https://sulo.live

It's a "local" e-commerce marketplace with live streaming. You can check out our launch party stream if you want :see_no_evil:
https://sulo.live/shop/sulolive

claudiu 21:13:43

@petterik user experience is really nice. :slightly_smiling_face:

petterik 21:22:06

@claudiu Thanks :smile: