Fork me on GitHub
#cljsrn
<
2021-08-18
>
kennytilton19:08:05

So what is the word on Expo? My first impression came from some CLJS tutorial saying "follow the React tutorial but do not use the Expo version of the instructions", which made me think Expo must be Satan's spawn or sth. Then I saw some high praise for the way Expo simplifies deployment, a known PITA. The latter makes me think I would like to use Expo if I can. Is there a clear call on this for CLJS+RN development?

pez20:08:08

It is unrelated to cljsrn, I would say. It’s on the RN level and down to your project and its requirements. This is a good discussion about the issues, pros/cons, tradeoffs, etc: https://www.youtube.com/watch?v=7-t6deIO1JE

pez20:08:24

I kinda like Expo. 😃 I have only used React Native professionally, because Expo was just not an option due to lack of support for things demanded by the projects. (Certain Bluetiooth API:s and such). It seems Expo is improving in this aspect, so I think more and more projects can use it.

alexdavis21:08:17

Its worth pointing out that expo has two workflows, and recently the bare workflow has gotten a lot better due to their (currently still alpha) EAS Build tooling. So now you can submit a bare workflow app to the app store without needing xcode/android studio and push updates to it without needing to submit a bundle and get it reviewed https://docs.expo.dev/introduction/managed-vs-bare/

alexdavis21:08:23

So if you think you might need bluetooth etc, but don’t have a mac or don’t like the deployment struggle its a pretty good system. I’ve tried it and it worked well, though you will need to do this if you’re using shadow https://github.com/thheller/reagent-react-native/blob/master/react-native/index.js

kennytilton03:08:39

"It is unrelated to cljsrn,..." Good to know, @U0ETXRFEW! I am deeply impressed by all the CLJS interfacing with React; I peeked inside some internals and was suitably intimidated. I was afraid there might be some dependencies or anti-dependencies. Speaking of which, the "Certain Bluetooth API:s and such..." exception kinda blows my mind. I guess even power tools like Expo need tailoring for particular libraries.

kennytilton03:08:12

Thx for the shadow tip, @U7KPK060K. I am using that. And the EAS workflow link. That was great reading, just what I needed. Sounds like I can get on with my RN+CLJS coding and worry about Expo when I want to try deploying. 🙏