What are the trade offs/Adventages to use cross platform tools for app development in 2021?
The advantages of native iOS development, off top of my head:
1) Swift is very pleasant to use and it is fast.
2) The UI libraries that I need to learn: UIKit and SwiftUI. SwiftUI is also very pleasant to use and it is getting there.
3) No hoops to jump for integrating API that makes an App do things that WebApp cannot do.
4) Work environment setup is very easy, no scripts to run no tooling that breaks down. It's as simple as creating an new Word document and start doing actual work, not janitorial tasks.
5) Despite its bugs, Xcode is a good IDE that natively understand all the tooling I use. Autocomplete might break down sometimes but it can handle project creation, asset management, project configurations and the distribution.
6) The only vendor that I rely on is Apple, as soon as they make something interesting it is available to me. The latest API is there right away.
7) The apps look in place by default, you actually have to work to make UI unconventional and weird.
I would imagine that on the Android side of things are also not that different.
Edit: I see that you don't like the question being asked and other perspectives being presented but I think it's a fair question and I would like to know if I am missing out on something.
At my work, my team is pioneering React Native development so I've got a couple of thoughts.
The main benefits for us come down to the fact that we have a large existing JS web application that would take a lot of energy to port to both native platforms (we know from experience, we tried it before). Using React Native, we can share a significant amount of the data and controller layers between web and native. This also means that when a feature gets written for the web, most of the work is already done on mobile (if it was written correctly).
The other key difference is the sheer numbers of each different type of devs we have. At work we have ~400 JS devs and ~30 each of iOS and Android devs. It's just not reasonable to expect the native engineers to be able to keep up. Exploring React Native lets us distribute the load of app development off of the native engineers and put it into some of the web developers. Arguably, an alternate solution would have been to just hire more native devs and I gave that suggestion to management, but that wasn't the direction they wanted to take.
React DOM is very coupled with DOM elements, so React Native Web abstracts away web-specific things, so that code is more sharable.