Beware: This article reads like it was written by somebody who has never developed a mobile app. Thus, before you go down this road, read below.<p>- Cross platform does not mean you can share the UI/design. Different mobile platforms require different accordances that users are accomstomed to. So your design and code might have to be different, just as it would be for native.<p>- Just because you are using a cross platform framework does not mean you sidestep the nuances of the framework itself or that of the host platform. In fact, it just makes things worse because you have to code around these nuances. Due to the underlying way iOS/Android work (e.g. permissions or the differences between Android’s activities or UIViewController on iOS), you will still need a fair amount of platform specific code.<p>- Many cross platform frameworks have limited support for other libraries and if not you need to go native to support them. At this point you may as well be developing natively.<p>- The performance can matter quite a bit. However, unlike native your ability to do anything to resolve these issues is extremely limited. Maybe it doesn’t matter a ton depending on the use case, but people do notice. Only being able to solve it by dropping into native sort of defeats the purpose of cross platform.<p>When you add all these up, the benefits of cross platform get very muddled.<p>It is far better to prove out your app on one platform, get users, solve problems, and when you have more resources and a good process, go to other platforms. If you don’t succeed on one platform, not being cross-platform would be an unlikely reason.<p>In the case of React Native, it is possible to have a hybrid, which may let you get around some trade offs.