Terry Blanchard wrote an interesting post about why cross-platform products are doomed to fail. Blanchard mentioned drawbacks of cross-platform products like being slow, not efficient with the CPU or that they don’t take advantage of native OS features.
“Why are these cross-platform products so bad? Do users even know if a product is using a cross-platform development environment? Yup, they sure do. Users, even if they’re not geeks or developers like me, can smell a cross-development turd.”
You can read Blanchard doesn’t like cross-development at all. So how do you explain that VideoLAN, a cross-platform media player (built using Qt), is the most preferred media player according to different polls . VideoLan is so popular because it is small, fast, cross-platform and reliable. What did we miss here?
Blanchard made the difference between native applications and cross-platform applications. What he meant with cross-platform applications are non-native applications. Non-native applications need some interpreter software to run the software, this interpreter software is most of the times cross-platform and this makes the non-native applications also cross-platform. Examples of non-native applications are Java applications, but also web applications fall into this category.
Conclusion, you can’t just lump all cross-platform applications together. It’s not because most non-native applications are cross-platform that all cross-platform applications are non-native applications.