7

我计划为 Windows 和 Mac 编写一个桌面客户端。它将由网络技术(HTML + JS)提供支持。因此它应该在用户桌面上的 WebKit 引擎上运行。

最近,我看到了一个有趣的方法来解决这个问题:Appcelerator 我喜欢它的基本概念,但我不想依赖他们的服务。相反,我想完全控制加载我的应用程序的 WebKit 程序。

有没有像样的开源 WebKit 框架来构建桌面应用程序?桌面集成功能,例如 Growl-support 和其他东西值得赞赏。

问候,

斯特凡


更新:我不是在寻找 Adob​​e Air ;-)

4

3 回答 3

11

除了 Appcelerator,我还知道两个桌面 gui 框架,它们有一个包装 webkit 的浏览器组件:GTK+ 和 Qt。您可以让浏览器组件填充应用程序的窗口,并用 HTML+CSS 编写大部分(或全部)应用程序。如果你喜欢 Python 语言或者它是非常重要的标准库,你可以使用 python 绑定 pyQt 或 pyGTK。

如果您愿意使用 Gecko 引擎,Prism 的一个更“强大”的替代品是 XULRunner ( https://developer.mozilla.org/En/XULRunner )。虽然 Prism 是一组用于 Web 应用程序的轻量级桌面绑定,但 XULRunner 允许您构建一个完整的应用程序,如 Firefox 本身或 Thunderbird 等。虽然许多 XULRunner 应用程序是用 XUL 编写的,但使用 XUL 编写整个应用程序很容易单个 XUL WebBrowser 组件中的 HTML/CSS - 您的 javascript 仍然具有本地桌面应用程序的所有功能。

我使用 XULRunner 编写了几个桌面应用程序。几乎所有应用程序的代码都是 HTML/CSS/Javascript,但我已经包含了 Python 框架(通过 pyXPCOM 和 pyXPCOMext)并编写了一个薄层,将一些 Python 功能暴露给 Javascript。XULRunner 附带的 Mozilla 组件免费为您提供了相当多的功能,但如果您发现自己需要更多功能或功能齐全的编程库,Python 可以解决问题。也有与 Java 的绑定。或者,如果您想使用 C 或 C++ 库,您可以从头开始构建 XULRunner。

更新:自从我最初在 2009 年编写上述内容以来,一些事情发生了变化。首先,Prism 项目从 Mozilla Labs 中删除,随后在 2011 年底完全停止(http://www.salsitasoft.com/2011/09/08 /discontinuing-webrunner/)。值得一看的另一种选择是https://github.com/rogerwang/node-webkit

2014 年 12 月更新:另一个最近的选择是 GitHub 的 Atom Shell。它使用 Chromium 的“内容”模块,就像 node-webkit 和 Chromium Embedded Framework 一样(并将其作为独立库发布:https ://github.com/brightray/libchromiumcontent )。与 node-webkit 的一个主要区别是,Atom 不是将 node 的事件循环与 Chromium 的事件循环合并,而是在单独的进程中启动它们,并使用同步和异步进程间消息的混合在它们之间进行通信。

如果您有兴趣将 Chromium 嵌入到 C++ 或 .Net 应用程序中,还有Awesomium

于 2009-10-22T17:13:24.703 回答
3

Appcelerator 平台是开源的,所以你不依赖于公司——如果你愿意,你可以随时破解自己周围的代码。如果你想要更多的控制,你总是可以直接挂钩到 WebKit。相当于 AIR/Appcelerator Joel 所指的 Gecko 可能是Mozilla Prism

于 2009-08-10T00:23:31.973 回答
1

如果您不是绝对致力于 webkit,我记得有一个项目允许您使用 Firefox 引擎做类似的事情。基本上是一个围绕 gecko 渲染器的极简主义窗口以及适用于您的应用程序的 Gears 和桌面快捷方式。不过暂时找不到链接。

于 2009-08-10T00:09:10.347 回答