I've been doing react web and native apps for a while. Why do I want this exactly? Seems like a lot of stuff that's almost competing with my ide stuff but not quite useful enough to switch off?
For me, I have visibilty issues into my apps when they grow. The ability to query your redux state tree for answers at any time without logging is helpful for me.
Same with API calls... wait what did I just send? Thats not right!
The subscribe feature allows you to keep an eye on subsets of your state tree as they change.
Its all about focusing. Which is my achillies heel.
If you're using Chrome, I highly recommend the Redux DevTools extension. You'll have insight into your state, actions and even a timeline. With a little extra work (less than Reactotron) you'll get it working in React Native as well. I find it quite helpful.
+1 for Redux DevTools! Its great! The guy who wrote it is much smarter than me. :)
Reactotron has a slightly broader scope (read: not as feature complete with redux - eg, no time travel debugging). I do have things like api monitoring, logging, error tracking with source maps, and benchmarking.
I couldnt quite fit that in my demo gif. It took 11 takes to get what I settled on. I could use some improvement with that.
Unlike (traditional) IDEs, this is a runtime tool. It lets you dynamically interact with your program by essentially turning it into a REPL where the language is defined by your actions and reducers. I also like how the CLI makes you feel like Iron Man. Very cool project, and I'm excited to see where tools like this are headed.
Edit: I just integrated with my app and just realized a reason why Redux is so important. It makes integrations like this actually, truly a several minute task, no matter how your state is stored _inside_ of Redux.
For me, one of the big drawbacks this has when compared to Redux logger middleware is that I can't inspect each object associated with a given action. Being able to watch my state mutate and look at it after the fact has been a great boon.
The new App supports this when you subscribe to paths in your state tree. It'll tell you: of the keys you're tracking, heres the adds, edits, and deletes. At mutation time.
Redux logger indeed shows you all this info. My goal with this is not to show you everything, but just what matters.
Debugging is a very personal thing. Hell, I remember using MessageBeep() in the 90's to help me debug. Whatever works!
React Native uses native OS components, meaning they'll render fast. But if you want to do heavy computing you may get frame drops. Some bundled components are partially native and partially custom, so you'll still need to be mindful of how you work with them.
In my opinion, for many use cases you'll be able to write an app that really feels native an performs very well. If you need more performance or other custom stuff you are also able to integrate your own native components (e.g. Swift/Objective-C, etc.) into React Native.
Though off topic. Could you explain a bit more on what you mean by "two way dependency tracking" ? Something along the lines of why that is useful and how ava helps in this would be really helpful.
Not attacking, just want some perspective.