Fork me on GitHub
#cljsrn
<
2017-04-24
>
vikeri09:04:49

@mengu We use the new React Navigation library and it works well for us: https://github.com/vikeri/re-navigate

jimmy10:04:42

@vikeri I have to change Product Scheme's Build Configuration to Release to make it work. Just curious, do we have to do the this thing for every other react project ( I had the same error all the time with react native project ). The error is:

jimmy10:04:46

libc++abi.dylib: terminating with uncaught exception of type NSException

vikeri10:04:04

@nxqd To make re-navigate work? I have never seen that error before

jimmy10:04:37

yeah. I got the error then I have to edit Product Scheme and run the project within xcode to make it work.

jimmy10:04:54

I'm not sure what's wrong but I have this kind of problem all the time when I try out react native project.

vikeri10:04:35

Hmm, weird, do you have the latest XCode?

jimmy10:04:39

Version 8.1 (8B62)

vikeri10:04:55

Very strange, I’ve never seen that issue before

jimmy11:04:33

@vikeri I think it's my Mac's problem or something. Thanks for the example btw 🙂

vikeri11:04:58

@nxqd Ok, good luck debugging it! Thanks 🙂

vikeri13:04:24

I know this has been discussed several times, but which http library are people using? We’ve been using raw js/fetch but now is the time for something proper. I know cljs-http doesn’t work with js/fetch out of the box. What about cljs-ajax?

wojciech15:04:32

> It's early days but I feel ClojureScript + Expo is one of the best options for building large, sophisticated apps on mobile. I'm sceptical. Expo has its limitations and if you're able to stay within them, it's great.

wojciech15:04:02

However, the moment you need to introduce any native code (that is not not part of Expo) by yourself, you lose all the benefits

vikeri15:04:55

Exactly, for CRUD-apps, awesome! For apps that need Bluetooth, Background jobs etc. Impossible.

wojciech15:04:19

IMO, if you're the both PO and dev on the project, for example working on something small and not complicated - sure, you can benefit from it But if you're working on a bigger project and have outside requirements - I wouldn't bother with Expo

dehli15:04:11

Would it be very difficult to write an Android/iOS wrapper to hook into the Expo framework?

dehli15:04:26

if you needed more functionality than Expo offered

wojciech15:04:03

I'm not sure that's possible (definitely not easy) - Expo is not a framework, but a whole application platform

dehli15:04:29

gotcha. i’ve just started reading about it but I don’t know much about how it works

wojciech15:04:29

Meaning, you only put JS on top of their platform

dehli15:04:34

well if you added another component to their platform you could encapsulate the native code I would think

dehli15:04:02

similar to how their native components work, but I’m guessing it would be difficult

vikeri16:04:04

@dehli I assume that a lot of the benefits will break as soon as you put your native code into the mix. You can’t just load whichever js bundle then and make them run anymore for example. The point of Expo is that all apps have the exact same Native code, which means that a lot of assumptions can be made.

dehli16:04:05

Gotcha, ya that makes sense. What are some examples of things that cannot be done in Expo?

wojciech16:04:13

I'm not really up-to-date with what's currently built into Expo, but two things come to my mind straight away: * background jobs: you can't do them in JS, need to write native code * integrating with less popular SDKs: if Expo doesn't contain a wrapper for them already, you're in trouble

vikeri16:04:28

@wojciech Actually, we’re doing background jobs in js: https://github.com/vikeri/react-native-background-job but it relies on Native code.

wojciech16:04:38

> This library relies on React Native's HeadlessJS which is currently only supported on Android. Do I understand properly it won't work in iOS?

vikeri16:04:24

Yes, HeadlessJS is not implemented there yet. And actually the background job story for iOS is a lot more restricted

wojciech16:04:07

I'm working mainly on iOS recently, I forgot on Android it's possible 😉

dehli16:04:19

gotcha, so client heavy apps are gonna be tough using expo but they’d be pretty tough with react native as well i’m guessing

benny18:04:23

It's all relative. React native in general allows you to simplify the amount of duplicate code you have to write and maintain. The trade-off is upfront work in research and evaluation. Clojure can simplify your codebase further but the language is arguably harder to hire for

domkm21:04:47

Has anyone had success using Reagent with RN 0.43?

benny21:04:05

42 works just fine unless you need something in 43

domkm21:04:36

We're using Expo and we need something in the latest version which depends on 43