Fork me on GitHub
#cljsrn
<
2018-01-22
>
deg08:01:02

Thanks. I am now trying re-natal in parallel, and will also try reinstalling - either exp locally or (per a suggestion on a different channel) reinstalling npm in a new directory. (I'm just frustrated. It feels that anytime I get too close to the javascript ecosystem, I hit this 'maze of twisty passages' of tooling choices)

carocad11:01:41

yeah, unfortunately the tooling is just not there yet. Too many changes too fast, make everyone confused; and JS doesnt help either. Last week I tried updating my react-native dependencies and it all blew on my face. After like 4 hours of troubleshooting I ended up just rolling back everything

deg12:01:30

Ok. I have a few less hairs on my head, but I I've just sent a js/alert through figwheel to a re-natal app running on Genymotion. I think I'm also not too many steps away from getting expo to work too, though I'm not sure I want to tackle that right now. When I started this on Thursday, I had not realized that there were two parallel options. So, now, I need to take a step back and ask: "re-natal vs expo? What are the pros and cons?"

mfikes13:01:08

@deg if you end up with some useful information on re-natal vs Expo, contributing a sentence or two on Expo in the Usage section of http://cljsrn.org might be appreciated by the community

deg13:01:03

@mfikes - Will do, I hope, once I learn enough to be useful

carocad14:01:26

@mfikes I can tell you about my experience and impressions: - I personally find expo much more easier to understand and work with than re-natal - the expo template by @seantempesta uses a clojure script to glue everything together as opposed to the external coffescript implementations from re-natal - the expo template has some strong assumptions inside which let you go really fast if you keep yourself within them but that can bite you in the back if you dont realize them. For example, it checks your cljs files for js/require statements to dynamically import those with figwheel. However the latest cljs compiler can do requires in a different manner so that would break. - both expo template and re-natal have troubles with source maps and they manually patch the packager to allow it. This creates the problem that since things keep changing, the path to patch is a moving target and sometimes this breaks - expo only works on Js/Cljs files. If you want to add something else (native), you are out. They call this eject and detach though I havent really check it in detail. But basically anything that is not javascript is out of the framework and it is your own problem to deal with

mfikes14:01:20

Cool, @carocad feel free to PR to https://github.com/cljsrn/cljsrn-org if you'd like to add some verbiage there

mfikes14:01:08

@carocad FWIW (may be obvious), there probably needs to be a new Expo section under Usage

carocad14:01:03

yeap, just checked that out. Although it looks more as a general description and less of a expo vs re-natal section

carocad14:01:11

PR is open 🙂

deg14:01:40

Ok, so I fixed my npm and tried expo again. It worked one time, but mostly I'm getting "Something went wrong. Could not load <exp://localhost> 19000" on the emulator screen.

deg14:01:16

Also, in the XDE, I'm getting warnings about watchman - permissions denied to ~/.cache/dconf

deg14:01:57

Is there some particular order in which I need to do lein figwheel, launching the xde, and launching gerymotion?

carocad15:01:30

@deg never used watchman so cannot help you there. What I can tell you is that I always use the lan config for expo since I use my Android device with it and just connect it through Wifi. I know that the expo template doesnt allow the tunnel setting but no idea about localhost. Hope it helps

deg15:01:14

Ok, I'll try lan. I had changed tunnel to localhost before. Re watchman, I did not launch it explicitly; it is started by Expo. But, I fixed that problem by loosening file permissions

deg15:01:58

do you start figwheel before or after the xde? (or is it irrelevant)

deg15:01:09

Looks like lan fixes the problem. Thanks!!

carocad16:01:32

> do you start figwheel before or after the xde? (or is it irrelevant) @deg to be honest I have never checked this. I dont know if it makes a difference. Since fighwheel loads the code dynamically I never cared about it. Even if the packager takes the old code, figwheel will later on inject the new code and be done with it. I think new dependencies are a bit different but as I said, I have never tested it 😉

deg19:01:31

@carocad - Hmm, then I think I'm doing something extra, maybe? I understood that I need to manually do three things: - Start lein figwheel - Start the XDE gui - Start the Genymotion gui You seem to be saying that fewer steps are needed. Or, am I reading too much into your words?

carocad19:01:57

@deg jeje I think you are reading too much into my words 😄. I do those same 3 steps but instead of the genymotion I use my android device