AndroidアプリはJavaで開発されているため、すべてのアプリケーションを仮想マシンで実行すると互換性の問題が少なくなります。IOSいくつかのデバイス(IPhonesシリーズ)で実行するために開発されているため、Objective-Cを代わりに使用します。
開発中のアプリの種類によって異なります。
Ubuntu SDKとQMLを使用する場合、アプリはコンパイルされず、Qtランタイムによって解釈されます。これは、Qt5が利用可能な場所であればどこでもアプリを実行できることを意味します。また、コンパイルされていないため、物理デバイスのCPUアーキテクチャについて心配する必要はまったくありません。
Ubuntuはこれらすべてのデバイスの基本システムであり、Linaroなどのプロジェクトに取り組んできた作業により、複数のARMデバイス間で同じランタイム環境をアプリに提供できます。 'Ubuntu専用の特定のデバイス用にC++アプリをコンパイルする必要はありません。クリーンなC++コードがあれば、同じソースをarm、x86およびx86_64にコンパイルできます。
Ubuntu Phoneアプリ(HTML5アプリを除く)は、QtツールキットとUbuntu SDKを使用して開発されています。その結果、他のプラットフォーム(Qtがサポートされている)に簡単に移植できます。
GUIにはJavascriptとQMLが使用されているため、さらに面倒ではありません。ソース: http://www.ubuntu.com/phone/app-ecosystem