Everyone who is faced with the need to create a mobile application faces the problem of choosing between native and cross-platform development. On the one hand, the advantages of cross-platform frameworks are obvious - this is speed, and, accordingly, democratic cost. On the other hand, you have to pay for the time spent with performance and compatibility, which, for many, tip the balance in favor of native languages.
To understand where and what type of development would be more convenient, I talked to Head of iOS at Tango, CTO/Founder at Seagull. He spoke about the nuances of different approaches. This information will allow you to understand which approach would be preferable in a particular case.
Often, developers who claim that cross-platform development is as good as native and suitable for most tasks, claim that products have comparable or similar performance to native languages. Is it so in your opinion?
The opinion, probably, will be not only mine, but also the majority of other developers. Comparable or similar performance will certainly not be obtained using some of the very first tools that wrapped web pages, trying to make this application, for example, Ionic. Modern tools, on the contrary, use native components internally, which certainly improves performance. But, it is worth loading an application based on this technology with some kind of complex logic, which in the native case would require additional research in terms of optimizing complex and large calculations, we will immediately get a negative result. In any case, even on the most stable and close to native cross-platform tools, it will be visually noticeable that this is not a native application. Perhaps to a person who is not familiar with this, it may seem that there is no difference, but after years of experience you see it with the naked eye.