cljsrn

https://github.com/drapanjanas/re-natal | https://github.com/drapanjanas/re-natal/wiki/FAQ | https://github.com/condense/mercury-app/wiki | https://github.com/seantempesta/expo-cljs-template/ https://www.npmjs.com/package/create-expo-cljs-app
zackteo 2020-09-26T02:31:32.007Z

Hello! If re-natal -ย https://github.com/drapanjanas/re-natalย only supports figwheel, does that mean I'll be unable to import in js libraries? ๐Ÿ˜ฎ

Oliver George 2020-09-26T04:30:35.008400Z

It will work with react native libraries.

Oliver George 2020-09-26T04:31:14.009300Z

That particular project is a bit dated. Figwheel, ShadowCljs and Krell are candidates.

zackteo 2020-09-26T07:14:22.013100Z

I have to admit I have been struggling quite abit with how/where exactly to start. I tried some of the links above. Got quite far with Expo, only to learn that there's an issue on the latest android app version

Oliver George 2020-09-26T07:48:35.015800Z

This stuff is an order of magnitude messier than a regular clojurescript webapp.

๐Ÿ‘ 4
zackteo 2020-09-27T07:14:46.017200Z

Glad to know ๐Ÿ˜…

Oliver George 2020-09-26T07:49:06.016600Z

Are you comfortable with react native?

zackteo 2020-09-27T07:16:02.017400Z

Unfortunately, i have say not really ;x Are there any tips/guides that you recommend? If i try venturing into it again

Oliver George 2020-09-28T05:18:04.017700Z

My advice would be to start without CLJS. Build up screens that way. You can do that in JS or CLJS. There's less friction in pure JS (the interop on some components gets quite annoying from CLJS). The place where CLJS shines for me is in state management (e.g. re-frame providing state and an event loop).

Oliver George 2020-09-28T05:18:42.017900Z

That's only an opinion. Something I've come to over time. Others might disagree.

Oliver George 2020-09-28T05:19:09.018100Z

Good luck.

zackteo 2020-09-28T05:32:50.018300Z

What is CLJS actually? I was thinking that it should mean clojurecript? :o (you mean +cljs in the template right) doesn't that add clojurescript?

Oliver George 2020-09-28T05:43:39.019100Z

Sorry, by CLJS I mean clojurescript

zackteo 2020-09-28T06:31:04.019300Z

So clojure backend and then js frontend?

Oliver George 2020-09-28T06:33:33.019500Z

I think lots of people will have opinions varied opinions about this stuff.

Oliver George 2020-09-28T06:33:35.019700Z

My main advice would be to be systematic about picking up each layer of technology on the frontend.

Oliver George 2020-09-28T06:33:59.019900Z

1. get comfortable with react native to build components

Oliver George 2020-09-28T06:35:32.020100Z

2. think about state management. I have used re-frame for years so I'm probably a bit biased.

Oliver George 2020-09-28T06:36:50.020300Z

Right now I'm exploring breaking up the problem

Oliver George 2020-09-28T06:36:51.020500Z

1. build components (e.g. UX) as stateless react JS components.

Oliver George 2020-09-28T06:36:58.020700Z

2. hook things up into a stateful app

Oliver George 2020-09-28T06:37:42.020900Z

StorybookJS seems a good way to develop the UX components so they are good/polished before moving onto the complexities of building out a stateful app.

Oliver George 2020-09-28T06:39:33.021100Z

Components take a lot of effort to get right. For mobile apps the polish matters - transitions, layouts on different screens...

Oliver George 2020-09-28T06:40:50.021300Z

Working with the somewhat quirky/stateful/opinionated react native components can be irritating from CLJS

zackteo 2020-09-28T06:45:14.021500Z

I see i see! I've been trying to work with clojure to build something. But so far haven't managed to really do anything yet. The closest I've come is making a simple telegram bot. Part of it stems from the clojure ecosystem being pretty daunting. Think I havent really been approaching the task incrementally