> I have very high doubts that they are "visually indistinguishable"
It's hard to describe without showing you in person and asking you to tell me which app is a RN app vs native, but it's actually the case... There's pretty granular control over the easing functions and the default ones do match the iOS curves.
I was a designer before being an engineer, and I was immersed in Obj-C for 4 years before trying React Native. On the well-implemented React Native apps, it really truly is indistinguishable.
Perhaps the difference here is between a RN app written by someone with only a web/js background and a RN app written by someone who has a deeper understanding of the system beneath RN's abstraction layer?
That's not what I meant. It's got the right easing curves out of the box for most transitions. Sorry for the confusion. But there are definitely some things that take a little more digging around as the documentation doesn't exactly offer "best practice" recommendations in all cases.
It does help to read obj-c code in the RN repo to see what's possible and how things work so you use the right javascript parameters, but you don't normally have to do additional obj-c coding most of the time.
Yea, I'm offering a bit of a different point than you.
You're saying that that it is easy to use RN to build an app that is indistinguishable from an app written in obj-c
I'm offering the possibility that your 4 years of obj-c experience trained you to make intuitive judgements about how things should be done and that this intuition is mostly correct. Also that a person without that experience wouldn't make those same judgements and might default to doing things in a lower-fidelity way.
This suggestion is offered without experience using either react native, obj-c, or swift. So coming from ignorance, I might be entirely wrong.
It's hard to describe without showing you in person and asking you to tell me which app is a RN app vs native, but it's actually the case... There's pretty granular control over the easing functions and the default ones do match the iOS curves.
I was a designer before being an engineer, and I was immersed in Obj-C for 4 years before trying React Native. On the well-implemented React Native apps, it really truly is indistinguishable.