First off, thanks so much for your work on Ambly. It's really great!
I have followed the instructions here and I noticed that something about the implementation of AppDelegate.m prevents the normal React Native "Cmd+R to reload" behavior from working. I don't believe this is related to the actual REPL set up, since I have a repro that avoids that code.
Expected: The changes in index.ios.js should appear
Actual: Screen goes blank. If I hit Cmd+R a few times, I get EXC_BAD_ACCESS in RCTContextExecutor.m line 445.
Note that if I comment out this line and repeat the above, things work as expected, so it seems to be some issue with the ABYContextExecutor.
I'm afraid I'm quite new to Obj-C, so I can't see what exactly is going wrong. Please let me know how I can be of assistance.
So, with this vision, you would be using something like Om or Reagent, making changes to either function definitions (defn) or the app state (swap!), or simply invoking (require 'foo.ns :reload). The overall strategy would be to eliminate the need for the React Native Packager (see ClojureScript with React Native).
(require 'foo.ns :reload)
There is a video showing me developing in this style without ever doing Cmd-R.
Awesome video! I hadn't seen that one yet, but it really does show off the power of REPL-driven-development.
I agree that using the REPL to reload the code via (require ... :reload) is a great workflow. I use that workflow nearly all the time, but I do find myself wanting a "full reload" in some cases. Right now, since Cmd+R does not work, I end up needing to restart the app in these cases. Please correct me if I'm wrong and I don't need to restart for these - I may be missing something.
(require ... :reload)
If I could avoid rebooting the app in these cases, it'd really speed up my development. I was thinking that perhaps Cmd+R could solve these by providing a "full reload" that would throw away the current REPL state and start a new one with a fresh copy of the CLJS. But there may be other solutions I'm not seeing.
@bhb Your enumeration sounds correct. As it stands now, things are very rough around the corners as you can see.
@mfikes It's a great tool and I'm more than happy to help smooth out those corners 😄. Unfortunately, I don't yet see the root cause (sorry, my objective-c is weak), but please let me know if I can be of any assistance.