使用Javascript和HTML进行桌面应用程序开发

时间:2011-01-05 06:07:33

标签: javascript desktop-application titanium application-framework

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

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

XULRunner有多好?它会允许像Growl notificaiton和创建托盘图标这样的功能吗?

我能在Qt中使用大多数Javascript和HTML来开发应用程序吗?

5 个答案:

答案 0 :(得分:9)

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

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

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

我最大的挑战是贬值。在CEF中直接调试javascript非常困难。我不知道像Firebug这样的东西。

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

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

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

答案 4 :(得分:0)

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

的延续