14

我正在寻找使用 HTML 和 JavaScript 进行桌面应用程序开发的 Titanium Appcelerator 替代品。我想将 Web 应用程序转换为桌面应用程序。因此,将有很多服务器交互。Appcelerator 是一个不错的选择,但该公司似乎不再对桌面 SDK 感兴趣。此外,来自 Appcelerator 的 ajax 请求不保留 cookie。

我读到 Adob​​e Air 可用于桌面应用程序开发,但我不想使用 flash。

XULRunner 有多好?它会允许咆哮通知和创建托盘图标等功能吗?

我能否在 Qt 中主要使用 Javascript 和 HTML 开发应用程序?

4

5 回答 5

9

我开始研究用于桌面开发的 Titanium。我喜欢这个概念,但不喜欢它的实现。然后我偶然发现了 chromiumembedded 并且对它非常满意。它基本上是一个基于 chromium 的网络浏览器控件。 http://code.google.com/p/chromiumembedded/

它是用 C++ 编写的,因此您可以在容器应用程序中执行所有您想要的低级操作系统内容(咆哮、托盘图标、本地文件访问、com 端口等),然后在 html/javascript 中执行所有应用程序逻辑和 gui。它允许您拦截任何 http 请求以提供本地资源或执行一些自定义操作。例如,对http://localapp.com/SetTrayIconState?state=active的请求可能会被容器拦截,然后调用 C++ 函数来更新托盘图标。

它还允许您创建可以直接从 javascript 调用的函数。

我最大的挑战是调试。直接在 CEF 中调试 javascript 非常困难。据我所知,不支持像 Firebug 这样的东西。

于 2011-01-05T06:40:08.457 回答
2

Appjs (appjs.org) 看起来很有前途。

于 2012-12-22T14:08:10.357 回答
1

您还可以查看 Bowline,这是另一种选择:http ://bowlineapp.com/ 。

于 2011-01-09T17:28:13.697 回答
1

尽管它并非正式用于通用用途,但许多人已经成功地将括号外壳用于 HTML/JS 桌面应用程序。它嵌入了 Chromium ( CEF ) 并添加了用于菜单栏管理和文件 IO 的 API。它还嵌入了一个Node.js实例,因此您可以访问其所有 API 以启动进程等。它已获得 MIT 许可,可用于 Mac 和 Win,Linux 版本目前正在快速发展。

正如我所提到的,它不是正式的通用应用程序外壳,但有人写了一篇详细的博客文章,介绍如何自定义括号外壳以供自己使用。

我注意到关于 Titanum 的另一个答案说 CEF 很难调试。我不确定在 Titanium 中是否如此,但在括号壳中,调试 JS 很容易——您只需打开http://localhost:9234/加载 Chrome 开发人员工具的完整实例(包括断点、分析等)。

于 2013-08-26T03:04:38.480 回答
0

TideSDK 是旧 Titanium 桌面的延续http://www.tidesdk.org/

于 2014-03-28T13:54:58.687 回答