Second, they are mired in politics, which is sort of inevitable with a large enough organization; the only real alternative is a dictatorship, which has its own downsides. Politics, as ex-Google SVP Bill Coughran once said, is the best solution humanity has come up with to this problem in the past 5000 years: the problem of resource contention. So it’s not necessarily bad. But politics is a cumbersome process, and it slows you down and leads to execution problems.
The first problem that popped up was adding React Native as a dependency without pulling in the entire library. Doing so would not only increase the binary size, but would also have a large impact on methods count, making Instagram for Android go multi-dex with all the performance consequences this entails (yes, Instagram is still single-dex!). We ended up selectively pulling in only the view managers we needed at that time and writing our own implementations for the ones that depended on libraries we didn’t want to pull in. Ultimately, React Native ended up adding ~3500 methods. Features written in React Native barely require defining Java methods, so we believe this investment will be worthwhile in the long run.