Fork me on GitHub

Just went through the re-natal hello world. Fairly smooth, but for a scary red display on the sim. I just kept going and had the app up without a problem. Full marks to all involved, and to the figwheel crew as well.

👍 8
Oliver George04:06:10

In case you're interested. I've put in some effort to document some of the practicalities associated with getting productive with re-natal here. Not polished but perhaps useful.


While I am working on your Turing Award nomination in the category of Best Documentation, I just noticed Gotcha #5 has not made it onto this page.

Oliver George12:06:46

Added. Thanks.


I think on the IntelliJ setup you might mention to choose first “Clojure REPL” (not app) and then “local”, not remote. Amazing doc, really.

Oliver George16:06:17

Thanks again I'll get on that. Would love to hear what's missing too.


Here is something that made me work. Having been thru the re-natal I had the app up and running on the sim with figwheel started in a terminal. So now I turn to the Cursive instructions… I figured out I would have to kill my terminal figwheel, but do I need to kill the sim? I just tried different things and it seems figwheel is really great so I could start the sim and figwheel from IntelliJ in either order, but you might consider having your Cursive instructions begin with “If you already have the app and figwheel running from the re-natal tutorial….” and then either say “Let’s kill everything…” or “Just kill figwheel…” or whatever you think best.

Oliver George23:06:00

Gotcha. Good point.

Oliver George02:06:38

I've added a page which tries to give some guidance around when/what needs restarting during development.


That red box is my life now

🍺 16

I'm having trouble with the react native text input. When I try to use it with re-frame it gets all twitchy.


To avoid the xy-problem, how do I store the value in the re-frame db while doing something to it on the way in and/or out, without giving my users a seizure?


Gotta give a big whomping shout-out to @olivergeorge for this “perhaps useful” tour de force of documentation:


So often I follow an intro and end up with a Sistine Chapel demo app running and have not learned a damn thing. The “here is what just happened” thread (a) is brilliant and (b) must have been a ton of work.


Hey, RMS! Can we start the open source movement over again and put @olivergeorge in charge of the doc?

Oliver George02:06:06

It's been an interesting process doing it. On reflection I think it's exactly what Rich Hickey means when he talks about pulling things apart and then putting them together again. Once you break things down you can inspect the building blocks and consciously connect things up with confidence.


The gotchas were especially good. That is the sort of thing devs internalize (how far to go back and rebuild after certain changes/failures) but never get documented.

👍 4

So next I wanted to port my substantial sample app to re-natal and had no idea what RN elements to use. So I tried building/running the suggested dem apps and (no surprise) the first two did not build. I have now just dug into the source of one of them (the RN TodoMVC and think I see how to proceed, but mebbe something to take people across the finishing line would be the instructions for building/running something like TodoMVC.


And I think after that we should just look to the RN doc itself? I was looking for an re-natal library of wrapped RN but looking at the sample code I see it is a straightforward process to wrap RN itself and proceed.

Oliver George11:07:40

Yep. It's not bad. Worth reading the RN docs.


@carocad "defaultValue Provides an initial value that will change when the user starts typing. Useful for simple use-cases where you do not want to deal with listening to events and updating the value prop to keep the controlled state in sync." So, what I want is to keep the controlled state in sync at 60 fps


Thanks for the suggestion, though, that does work for some of the inputs, but not all of them