我计划为 Windows 和 Mac 编写一个桌面客户端。它将由网络技术(HTML + JS)提供支持。因此,它应在用户桌面上的 WebKit 引擎上运行。
最近,我看到一个有趣的方法来解决这个问题:加速器 http://www.appcelerator.com/products/titanium-desktop/我喜欢它的基本概念,但我不想依赖他们的服务。相反,我想完全控制加载我的应用程序的 WebKit 程序。
有没有合适的开源 WebKit 框架来构建桌面应用程序?桌面集成功能,例如 Growl 支持等受到赞赏。
Regards,
Stefan
更新:我不是在搜索 Adobe Air ;-)
除了 Appcelerator 之外,我还知道两个桌面 GUI 框架有一个封装了 webkit 的浏览器组件:GTK+ 和 Qt。您可以使浏览器组件填充应用程序的窗口,并用 HTML+CSS 编写应用程序的大部分(或全部)。如果您喜欢 Python 语言或者它是非常重要的标准库,您可以使用 python 绑定 pyQt 或 pyGTK。
如果您愿意使用 Gecko 引擎,那么 Prism 的一个更“强大”的替代方案是 XULRunner(https://developer.mozilla.org/En/XULRunner https://developer.mozilla.org/En/XULRunner)。虽然 Prism 是一组轻量级的 Web 应用程序桌面绑定,但 XULRunner 允许您构建完整的应用程序,例如 Firefox 本身或 Thunderbird 等。虽然许多 XULRunner 应用程序是用 XUL 编写的,但使用它编写整个应用程序很容易HTML/CSS 位于单个 XUL WebBrowser 组件中 - 并且您的 javascript 仍然具有本机桌面应用程序的所有功能。
我使用 XULRunner 编写了几个桌面应用程序。几乎所有应用程序的代码都是 HTML/CSS/Javascript,但我已经包含了 Python 框架(通过 pyXPCOM 和 pyXPCOMext),并编写了一个薄层,向 Javascript 公开了一些 Python 功能。 XULRunner 附带的 Mozilla 组件免费为您提供了大量功能,但如果您发现自己需要更多功能或功能齐全的编程库,Python 就能满足您的需求。还有与 Java 的绑定。或者,如果您想使用 C 或 C++ 库,您可以从头开始构建 XULRunner。
Update:自从我最初在 2009 年写下上述内容以来,有些事情发生了变化。其中之一是,Prism 项目从 Mozilla Labs 中删除,并随后在 2011 年底完全停止(http://www.salsitasoft.com/2011/09/08/discontinuing-webrunner/ http://www.salsitasoft.com/2011/09/08/discontinuing-webrunner/)。一种值得关注的替代方案是https://github.com/rogerwang/node-webkit https://github.com/rogerwang/node-webkit.
2014 年 12 月更新:最近的另一个选择是 GitHub 的 Atom Shell。它使用 Chromium 的“内容”模块,就像 node-webkit 和 Chromium 嵌入式框架一样(并将其作为独立库发布:https://github.com/brightray/libchromiumcontent https://github.com/brightray/libchromiumcontent)。与 Node-WebKit 的一个主要区别是,Atom 没有将 Node 的事件循环与 Chromium 的事件循环合并,而是在单独的进程中启动它们,并混合使用同步和异步进程间消息在它们之间进行通信。
如果您有兴趣在 C++ 或 .Net 应用程序中嵌入 Chromium,还有敬畏者 http://www.awesomium.com/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)