This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-09-28
Channels
- # arachne (2)
- # aws (5)
- # aws-lambda (5)
- # beginners (4)
- # boot (25)
- # cljs-dev (270)
- # cljsjs (1)
- # cljsrn (72)
- # clojars (5)
- # clojure (201)
- # clojure-belgium (5)
- # clojure-brasil (4)
- # clojure-italy (2)
- # clojure-korea (2)
- # clojure-russia (24)
- # clojure-spec (24)
- # clojure-uk (22)
- # clojurebridge (1)
- # clojurescript (125)
- # cloverage (3)
- # cursive (41)
- # datomic (37)
- # dirac (4)
- # emacs (2)
- # hoplon (421)
- # lein-figwheel (1)
- # leiningen (5)
- # luminus (2)
- # mount (1)
- # off-topic (18)
- # om (44)
- # om-next (4)
- # onyx (44)
- # pedestal (3)
- # proton (9)
- # re-frame (21)
- # reagent (21)
- # ring-swagger (12)
- # specter (9)
- # sql (2)
- # untangled (62)
- # vim (16)
@artemyarulin @pieterbreed I’m using the exponent template for two projects, so I think it works for me(I’m using re-frame, will support om-next and rum later, PR welcomes).
@artemyarulin @pieterbreed Exponent is much more easier for RN beginners, since you just write the cljs (javascript) part.
You can’t write native codes by design.
Meanwhile since the code is open source, you can fork yourself to add custom native modules later.
>You can’t write native codes by design. @tiensonqin Ahhh, now I got it - yeah, this approach may work better in the start
although I’m not sure it’ll work in a long run - many people here have at least some part of native logic here and there
but thx again for the template - it makes starting with RN+CLJS even easier, cool
Exponent is basically tools built on top of RN, they believe that it's possible to build most apps without ever needing to write native code, provided that you have a comprehensive set of apis exposed to Javascript.. The pros (Simple): 1. You can easily share your app or components. Say you publish your app or component through XDE, then you get a link, for example https://exp.host/@tiensonqin/lymchat, then you can share that on slack or twitter, people can then open this link in their devices. Way better than testflight! 2. No need to open xcode or android studio, No need to handle xml, plist files, No need to write native codes, this is double sword. 3. Smooth RN(the exponent fork) upgrade. The exponent team is responsible for this, backward compatibility stuff. The cons (rigility) 1. Like I said, the only problem for me is writing your native modules or even including 3rd-party native modules is not that easy for now. As far as I know, they are really working hard to add more native modules (google signin, sound, sqlite, realm, ...etc), also they are really working around this problem: https://blog.getexponent.com/answered-on-slack-ejecting-from-exponent-154bdca57dc1.
@artemyarulin Yeah, that’s really the only problem for me now.
btw, @nikki works on exponent, he can answer about exponent.
I actually think exponent is like browser for native.
It’s hard to archive, but it’s exciting.
Hm, interesting, thanks for the info. For me it’s not possible unfortunately to use it (for now at lease) - I’m gradually migrating existing iOS project to RN, so my setup is quite custom with a lot of native code.
btw - they have custom IDE
No, they don’t have custom IDE
I’m using Emacs myself.
that’s XDE
, their development tools, for publish, read logs
Ahh, got it, my mistake 🙂
IDE XDE you know, made wrong assumption 🙂
No worry, exponent is not suitable for every scenario currently.
Yeah, even RN is quite young and rough sometimes, but it’s great that we have choise
Yes, I just want to make it easier for developing RN in cljs.
Btw, anyone can successfully adding images or external modules without refreshing?
@tiensonqin I really like your idea of lowering the barrier! Nope.
@vikeri Thank you.
@pesterhazy @mjmeintjes Any idea why the REPL throws Websocket REPL error: occupied
on Android and not on iOS? I created an issue: https://github.com/mjmeintjes/boot-react-native/issues/73
Tricky one
Websocket REPL error: occupied
what does that even mean?
what version of RN are you on?
I had working reload on 0.30
ah so it's about cljs-repl
or about reloading once the repl is connected?
have you done adb reverse
for all ports required?
so I didn't test repls thoroughly tbh
the reason being that 1st cljs repls hard to get running and 2nd in my experience they're still a bit wonky (even a browser repl)
but no doubt it would be great to be able to repl in
what I usually do is just to add something to my on-js-reload
fn, save and let boot-reload
do the job
not particularly elegant, I know 🙂
The problem is I have a bunch of complicated data structures I’m working with, so then the 6 second iteration time is not really cutting it. I need the instant feedback loop of the repl.
yeah I know that feeling
even 6s is too much
(if it's any consolation, for me it's more like 12s)
possibly something todo with android websocket impl
but hopefully not! 🙂
Ok I think the issue is that when you reload the app the websocket for the REPL is still open and when weasel then tries to connect a new websocket it can’t since it’s already connected. I.e I think pesterhazy was right about the ws implementation in Android 😢
@vikeri so you can't open multiple ws connections at the same time?
you could try that with just a minimum repro case using plain js
@pesterhazy Never worked with websockets, but from the logs in Chrome it looked like some socket ”address” or something was already occupied, thus the error.
android on ws seems to have some remaining issues according to https://github.com/facebook/react-native/issues/8949
so the error message comes from here: https://github.com/tomjakubowski/weasel/blob/8bfeb29dbaf903e299b2a3296caed52b5761318f/src/clj/weasel/repl/server.clj#L18
could it be that you have both android and ios simulators open? 🙂
@pesterhazy Haha no
and they both try to connect to the websocket (where only one can connect at the same time)
but possibly something like that
I think it’s something with Android not clearing up the sockets when the js code is reloaded.
But tbh I don’t have the competence to debug nor ws errors in Chrome/Java nor weasel and can’t prioritize researching it either...
yeah not my favorite thing in the world either
but glad to hear you made it work on iOS
I should try to get that working again
it's kinda cool to just go (swap! state assoc :foo :bar)
@pesterhazy Yes, one of my main draws to clojure..
Has anyone ever had a card-stack
quit rendering the header on them? I made an AwesomeApp
and then dropped in Cljs. Everything about the cardstack works except the :render-overlay
key, so the header is just blank. But the code looks just like @vikeri's example in re-navigate. Maybe it's Xcode 8?
Never mind - the prop name was changed! https://github.com/facebook/react-native/commit/ca8531105e29f2204e0c997783e71b214390bedf