I stopped measuring sizes unfortunatelly, since nowadays you can cut heavy native part to pieces and deliver them separately and native part is out of my concern. We use webrtc anyway, so it won't be super light.
I could recommend RN if you can tolerate slightly lower performance (because of the stuff i mentioned earlier) and beware that infinite lists are absolute shitshow (we built our own). If you are native specialists you can write bindings by your own and replace only parts of the app with RN.
Assets are stored the same way as in native, not sure how you can do something with them.
But most importantly this question - do you envision that building React Native apps requires one to write wrappers for native at some point ?
Or is it all abstracted away by now.
It depends, for us we write some wrappers in Kotlin and Swift, but this is irrelevant to team performance - this could take time, but 90% of the time work is done in typescript. You want to have some folks that can do hacking on native level.
We built our own since there are much better frameworks on native side - asyncdisplaykit on iOS and Litho on Android. This library claims 60fps without actually measuring it or using very simple layout. We are doing messenger and layouts are really heavy for rendering and rn have itβs limitations, more importantly we reuse lists between screens, we have our own micro react inside that renders mostly static content to json and send it to native side. This is overkill for some, but not for us. We would have done the same without RN anyway.
We are native platform specialists..but have been seriously looking at RN and Typescript.
App sizes is a definite concern since we build for Indian markets.
What about assets? Do they bloat up more than on native.