Skip to content
This repository has been archived by the owner on Mar 4, 2019. It is now read-only.

Get RN 0.39 working #84

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

Get RN 0.39 working #84

wants to merge 5 commits into from

Conversation

vikeri
Copy link
Contributor

@vikeri vikeri commented Dec 29, 2016

I very crudely rewrote the goog.require in all the js-files to require and changed the output folder to cljs_output instead. Not very pretty but I sorted out the performance hit I initially got so now it shouldn't be too bad.

Fixes #78

(fl/exists? cljs-file))
(new-hard-link map-file target-map)
(new-hard-link cljs-file target-cljs))))
(u/dbug "Time to copy and rewrite js files to %s: %s ms\n"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a debug tag so that you can measure how long the copying and replacement takes

@theronic
Copy link

theronic commented Feb 4, 2018

@vikeri is this approach still worth looking into? Or have you moved on to something else?

@pesterhazy
Copy link
Collaborator

@theronic I'm not @vikeri, but I'm using re-natal these days, which IMO is based on the better approach (using figwheel for much of the work). Boot-react-native needs significant work to be fixed, and even then it may not be much better than re-natal.

@theronic
Copy link

theronic commented Feb 5, 2018

Ah. I hope that development using boot will continue. Whenever I pick up Leiningen, I run into opaque errors and caching problems

Can you outline some of the work that needs to be done?

@vikeri
Copy link
Contributor Author

vikeri commented Feb 5, 2018

@theronic Unfortunately I've also transitioned to using figwheel because of faster compilation speed and better REPL + reload experience.

@pesterhazy
Copy link
Collaborator

@theronic, briefly:

Re-natal has the better approach. It serves, via RN packager, only a small stub, including only pointers JS deps and the figwheel bridge.

All the rest is done via Figwheel. No cljs code AFAIK is transferred via the RN packager in re-natal. The big advantage is that everything works just like other CLJS repls: you reduce the surface of potential problems.

Boot has its own equivalents to Figwheel. The approach I'd take, if I were to rewrite BRN, would be to build on these.

It would certainly be nice to have a mature Boot-based CLJSRN solution. However, there's also value in focussing development on re-natal, which is a lot more mature. I've since come to the conclusion that it's better not to divide the (already small) community.

Another thing to try would be to look at the specific shortcomings of re-natal and to see where it could be improved upon. Caching is one, but you'll need to deal with caching in some way anyway. And Boot is not as fast precisely because it caches less so there'a another trade-off here.

If you do take a look at bringing BRN up to speed, feel free to ask specific questions, I'll do my best to answer.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants