Fork me on GitHub
#helix
<
2020-05-10
>
krzyz18:05:49

I just wanted to say thanks for the interesting library @lilactown. I like your thinking around efficiency/compatibility with React as well as favoring JS interop over library magic. I got bitten a few times in Reagent and I just want something simple and predictable now, so I'm taking a look at using helix.

krzyz18:05:15

Reagent is great, I was doing well with it when I was still in CLJS/re-frame land, but when I started to use react-navigation and had to rely on props, things got messy for me.

lilactown18:05:45

thank you for the kind words! 😄 yeah, I have been using reagent/re-frame professionally for a couple years now. I currently help maintain a ~50k LOC re-frame app at work. a lot of that experience went into helix

lilactown18:05:41

that being said, we're still learning and building so if you run into things that aren't working right / think could be better, please let me know!

krzyz18:05:21

Awesome, thank you! I'm definitely just learning for now but if I find something I will bring it up.

krzyz18:05:31

Oh to be clear, it was react native where I was having issues. Routing on mobile is not nearly as nice as on the web. 😞

lilactown18:05:52

yeah routing is something that my team and I really struggled with when I was doing a lot of react native stuff

lilactown18:05:24

we ended up doing a sort of hybrid where routing was native, and each screen was it's own fragment / viewcontroller that would mount a react native view inside of it

lilactown18:05:33

it was awful. would not recommend

krzyz18:05:16

Ooh ow. I went with react-navigation, which was fine once I learned how to translate it to CLJS. It forced to me to start using props to grab navigation state/methods though, and then I got tripped up by having to translate between JS and CLJS maps, knowing when I could destructure and when I couldn't, etc. Probably just the fact that I'm new to this, but the mental overhead of translating between CLJS and JS was too much on top of learning everything else.

krzyz18:05:11

Oh and adapt-react-class I think, knowing when I'm dealing with an actual react component vs my own.

lilactown18:05:52

yeah, it's hard when all of that work is happening behind the scenes and isn't clearly documented

💯 4
lilactown18:05:23

helix tries to be very clear about when it's converting to/from CLJS and JS, and tries to do the minimal amount of that as possible

krzyz18:05:14

yeah that's what I like. Even if you have to do interop more than you would like, it's better to be clear what is going on imo.