【问题标题】:Desktop application development with Javascript and HTML使用 Javascript 和 HTML 进行桌面应用程序开发
【发布时间】:2011-06-03 19:54:55
【问题描述】:

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

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

XULRunner 有多好?是否允许 Growl 通知和创建托盘图标等功能?

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

【问题讨论】:

标签: javascript desktop-application titanium application-framework


【解决方案1】:

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

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

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

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

【讨论】:

  • chromiumembedded 内存使用情况如何?
【解决方案2】:

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

【讨论】:

  • 看起来这个项目可能已经死了? appjs.org 网站已经消失,虽然它仍然是 on GitHub,但看起来开发在大约 5 个月前停止了......
【解决方案3】:

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

【讨论】:

  • 我正在寻找基于 JS 的平台。看起来 Bowline 需要 Ruby。
【解决方案4】:

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

正如我所提到的,它正式不是一个通用的应用程序外壳,但有人写了一个 detailed blog post 关于如何自定义括号外壳以供自己使用。

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

【讨论】:

【解决方案5】:

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

【讨论】:

    猜你喜欢
    • 2011-01-27
    • 2011-12-19
    • 2012-08-27
    • 2012-07-12
    • 2017-08-08
    • 1970-01-01
    • 2011-04-19
    • 2010-11-28
    • 2018-01-17
    相关资源
    最近更新 更多