The cross-platform development has one vulnerability. It is the framework itself that is used for development. If such framework is bad a project will be bad. Thus, it is critically important to use a sustainable and time-proven solution.
C++ and Qt is a good choice for developing a mobile application, especially when you need at least two versions for different platforms. But this way is not yet too popular. Why, you may ask? Well, because there are IDEs like Android Studio, SmartCode, Xcode. It is natural to think that a native application is better than cross platform software.