我知道 Android 应用程序是用 Java 开发的,因为在虚拟机中运行所有应用程序可以减少兼容性问题。IOS 使用的是 Objective-C,因为它是为在少数设备(iPhone 系列)上运行而开发的。用 C++ 开发的 ubuntu touch 应用程序如何实现交叉兼容?是否存在无法跨越的兼容性级别或类似的东西?
答案1
这取决于正在开发的应用程序的类型。
如果您使用 Ubuntu SDK 和 QML,您的应用不会被编译,而是由 Qt 运行时解释。这意味着您的应用将能够在任何有 Qt5 的地方运行。而且由于它没有被编译,您完全不必担心物理设备的 CPU 架构。
由于 Ubuntu 是所有这些设备的基础系统,并且由于 Linaro 等项目的努力,我们可以为多个 ARM 设备提供相同的运行时环境,这意味着您无需为特定设备编译 C++ 应用程序,只需为 Ubuntu 编译即可。如果您有干净的 C++ 代码,则可以为 arm、x86 和 x86_64 编译相同的源代码。
答案2
Ubuntu Phone 应用程序(HTML5 应用程序除外)是使用 Qt 工具包和 Ubuntu SDK 开发的。因此,它们可以轻松移植到其他平台(支持 Qt 的平台)。
Javascript 和 QML 用于 GUI,因此麻烦更少。来源:http://www.ubuntu.com/phone/app-ecosystem