Fork me on GitHub

Hi all, I’m going to try and make my first mobile app with clojurescript. I will need some native features like integration with healthkit and filesystem access (hopefully can store things in icloud/google drive for sync). My question is, what tooling should I use? At a glance my options look like: • Expo (looks like it does a lot for you, but maybe that leads to bad times in the future?) • Krell (I like the simplistic approach, but its not very clear what you miss out on vs expo) • re-natel (probably won’t use this as I don’t like leiningen) Does anyone have any real world experience with these things? Preferably I would write this like I write a webapp, then just click deploy and it appears in the ios and android app store 😄 I realise its unlikely to be that easy though


Oh it will also need to be able to work in the background (play audio and keep track of a timer)


I think shadow-cljs supports expo pretty well? Krell was created to solve problems at my work - and we're doing pretty serious RN dev with lots of custom native libraries


it's not designed to make anything easy other than just getting out of the way


Yeah that makes sense, I’m starting with shadow + expo for now. Main problem I have currently is getting the repl to work… I can connect to shadows nrepl through emacs/cider and the actual repl buffer works, but I can’t eval things in my namespaces


@alex395 the nrepl always starts out in CLJ mode so you need to switch it to CLJS via (shadow.cljs.devtools.api/repl :your-build-id). then its CLJS and you can eval away


I was already doing that, I definitely have a cljs repl, I can type (js/alert "foo") in the buffer and see the alert in the browser tab, but evaling things in the code doesn’t work


But I might be doing it wrong.. I’m doing cider-connect-cljs from a namespace in my app


no clue about cider sry


what do you use out of interest? I think it is almost definitely some emacs/cider issue with my local setup


I keep trying to switch to vscode but can’t get vim mode to work nicely


I use Cursive