对于 Jolla 宣布的新 Sailfish OS,移动应用程序(本机和 HTML5)的技术堆栈是什么样的?Sailfish OS 技术堆栈的一个中心位置几乎没有可用的信息,但 Sailfish OS 使用的开源产品的项目网站提供了以下信息:
- 基础操作系统:Sailfish OS 使用 Meego fork Mer作为主要操作系统。Mer 以超便携的 Linux + HTML5/QML/JS Core 为中心。对于 Sailfish OS,Mer 项目作为核心 OS,提供了一个可以启动到屏幕的功能核心 Linux 堆栈,但没有任何 UI,也没有任何硬件适配
- 用户界面:Sailfish OS 使用了以前的 Meego UI - MeeGo Handset UX - 现在称为Nemo Mobile的部分内容。
- Sailfish SDK:Sailfish SDK 基于QtCreator,将在 Windows、Linux 和 OS X 中提供。SDK二进制文件预计在 2012 年底或 2013 年初提供。SDK 由 Mer Core 的工具、Qt Creator、Jolla UI 组件组成, Sailfish UI 框架和 Salfish 手机应用界面。
- HTML5 应用程序:Sailfish 开发团队正在研究使用Apache Cordova(以前称为 PhoneGap)为 Qt开发基于 HTML5 的移动应用程序。
- Sailfish 上的 Android 应用程序:许多 Android 应用程序将在 Sailfish OS/Jolla 设备上运行,但不会发生变化。要利用 Sailfish OS 的所有 UI 和其他功能并使应用程序快速运行,可能必须将应用程序移植到本机 QT/QML。
基于以上信息,为 Sailfish OS 构建移动应用程序似乎将有三种方法:
- 本机应用程序使用 Mer 的核心 API、Jolla UI 组件、Sailfish UI 框架和手机应用程序界面。
- 重新使用现有的 Android 应用程序(尽管没有关于此类应用程序将支持哪些功能的详细信息)。
- HTML5/JavaScript 基于使用 Apache Cordova API。
这意味着可以使用以下编程和标记语言:
- C++ 和 QT
- 标记语言:QML(本机应用程序)和 HTML(Cordova)
- JavaScript、CSS(适用于基于 Cordova 的应用程序和 QT/QML)
有什么遗漏,还是我误解了某些信息?到目前为止,我还没有参与任何 QT/QML 开发,如果有更多经验的人可以为我提供一些意见,那将会很有帮助。