Fork me on GitHub
#reagent
<
2017-01-02
>
notanon23:01:55

does everyone that uses reagent use re-frame?

notanon23:01:54

(not trying to start a flame war :()

notanon23:01:27

they just seem to be mentioned together everytime i read about reagent

notanon23:01:45

but reagent seems like it does what i want without anything extra

mikethompson23:01:17

At a wild guess, I'd say that 60% do use re-frame and 40% don't. But that is very wild guess.

mikethompson23:01:31

Indicative-ish

mikethompson23:01:56

If your application is sufficiently simple, you don't need re-frame

mikethompson23:01:17

As your application gets bigger and more complicated, you will start growing architectural decisions. You may be happy with your own, or you might want to use the approaches distilled by re-frame

mikethompson23:01:26

Just be aware that Reagent does not supply any architecture. If is just the V bit of MVC. So you will be doing the equivalent of M and C yourself (which many are happy to do).

mikethompson23:01:09

In defence of re-frame (I am the author): I hear the following regularly "I started Reagent 6 months ago, and completely loved it. But after a while, I got to a place I wasn't happy with." <---- the person is effectively saying "I didn't like the architecture I grew in an adhoc way". But equally, there are many out there that ARE happy with what they grew. So that's the decision.

notanon23:01:04

well my use-case is pretty complicated. a data entry wizard. i can imagine having to deal with many things myself, routing, state-ful complex ui widgets

notanon23:01:32

nasty type-ahead autocmplete boxes that call rest services

notanon23:01:49

a veyr nasty data table with pagination/sort/filter

mikethompson23:01:13

My guess is that re-frame will be useful

notanon23:01:50

our current implementation is in angular 1. it is a nasty spaghetti-woven state machine

notanon23:01:16

we cant reproduce certain bugs because the clients are getting into an unknown state

mikethompson23:01:21

Yeah, okay, I'm convinced. You need re-frame. It is more overhead to get going. Sorry about that. But your future self will thank you.

notanon23:01:11

im convinced i need to at least read through and run the intro material

notanon23:01:48

i have a feeling that have a model for handling state changes is going to be very helpful

mikethompson23:01:56

re-frame constrains you, but pays you back with regularity. BTW, this is new. Might help: https://github.com/kishanov/re-frame-datatable https://kishanov.github.io/re-frame-datatable-example/

mikethompson23:01:57

@notanon coming from Angular 1, my guess is that you are going to be shocked by the simplicity you are about to experience. :-)

mikethompson23:01:27

Doesn't mean there isn't a learning curve

mikethompson23:01:56

I can remember my impotent fury at CLJS early on, as I struggled with not being able to mutate things

mikethompson23:01:19

How THE HELL can this do anything useful, I raged.

notanon23:01:39

haha, we'll see. i'll let you know

notanon23:01:45

thanks for input

notanon23:01:23

going to do some homework then i'll probably livestream fumbling through it

notanon23:01:34

everyone can have a laugh at my expense then

mikethompson23:01:36

Regarding Reagent, be sure to read the Tutorials at the bottom of this page: https://github.com/Day8/re-frame/wiki#reagent-tutorials

notanon23:01:12

thanks again