architecture

2017-08-11T08:58:49.728054Z

@claudiu too complicated for my needs. I'm not sure at what level of app complexity it will be worth the overhead

claudiu 2017-08-11T10:23:32.293017Z

@yonatanel Yep. Rum is pretty easy, got in 3 days more that I managed to get in om after 2 weeks 🙂 quite a lot to learn, to get basic things going 🙂

claudiu 2017-08-11T10:24:47.312962Z

But rum is kinda like reagent, just a react wrapper, you still need something like re-frame (roman01la/scrum) as you app grows, or write your own stuff.

claudiu 2017-08-11T10:27:32.358365Z

I went with om-next since I want to reduce complexity for larger apps 🙂 and it's quite nice. Then switched to fulcro, since it simplified om-next a bit and has some really nifty helper functions, that take om-next to the next level + awesome docs 😄

2👍
2017-08-11T12:17:52.139728Z

@claudiu What kind of thing is rum missing? State management, flux etc?

claudiu 2017-08-11T12:37:00.527172Z

@yonatanel yep 🙂 pretty much, as far as I know

claudiu 2017-08-11T12:37:48.543727Z

https://github.com/roman01la/scrum -> this one looks interesting, also think pairing it with datascript solves some of if (haven't had the chance to experiment that much with datascript)

claudiu 2017-08-11T12:42:10.634484Z

One think that I really liked about fulcro, is that the dataflow is really simple & upfront. 🙂 (difference from om-next is that you don't have read-parser in client)

claudiu 2017-08-11T12:42:24.639379Z

(defui ^:once LoginPage
  static f-core/InitialAppState
  (initial-state [this params] {:id :login :ui/username "" :ui/password "" :ui/error nil})
  static om/IQuery
  (query [this] [:id :ui/username :ui/password :ui/error])
  static om/Ident
  (ident [this props] [:login :page])
  Object
  (render [this]

claudiu 2017-08-11T12:43:11.655382Z

I know what the inital db will look like for the data that this component users, what data it uses, and the ident tells me from what location (normalized db).

claudiu 2017-08-11T12:45:12.699378Z

So basically my main reason, even it's a bit of overkill to learn for some of my apps.... Is that I think this flow (once you get it) will allow you to build, better apps faster. And since a lot of the complexity is gone, the apps should also be easier to maintain