Je sais que Android sont développées en Java car l'exécution de toutes les applications sur une machine virtuelle réduit les problèmes de compatibilité. IOS utilise à la place objective-C car il est développé pour ne fonctionner que sur quelques appareils (série IPhones). Comment les applications ubuntu touch peuvent-elles être intercompatibles en cours de développement en C++? Existe-t-il un niveau de compatibilité qui ne peut pas être croisé ou quelque chose de similaire?
Cela dépend du type d'application en cours de développement.
Si vous utilisez le SDK Ubuntu et QML, votre application n'est pas compilée mais est interprétée par le runtime Qt. Cela signifie que votre application pourra fonctionner partout où Qt5 est disponible. Et comme il n'est pas compilé, vous n'avez pas du tout à vous soucier de l'architecture CPU du périphérique physique.
Parce qu'Ubuntu est le système de base pour tous ces appareils, et en raison du travail qui a été consacré à des projets comme Linaro, nous pouvons offrir aux applications le même environnement d'exécution sur plusieurs appareils ARM, ce qui signifie que vous ne pas besoin de compiler des applications C++ pour des appareils spécifiques, juste pour Ubuntu. Si vous avez du code C++ propre, vous pouvez compiler la même source pour arm, x86 et x86_64.
Les applications Ubuntu Phone (à l'exception des applications HTML5) sont développées à l'aide de la boîte à outils Qt et du SDK Ubuntu. En conséquence, ils sont facilement portables sur d'autres plates-formes (où Qt est pris en charge).
Javascript et QML sont utilisés pour l'interface graphique, donc c'est encore moins de tracas. Source: http://www.ubuntu.com/phone/app-ecosystem