我打算为Windows和Mac编写一个桌面客户端.它将由Web技术(HTML + JS)提供支持.因此,它应在用户桌面上的WebKit引擎上运行.
最近,我看到了一个有趣的方法来解决这个问题:Appcelerator 我喜欢它的基本概念,但我不想依赖它们的服务.相反,我想完全控制WebKit程序,它加载我的应用程序.
是否有适合构建桌面应用程序的开源WebKit框架?桌面集成功能,例如Growl支持和内容都很受欢迎.
问候,
斯特凡
更新:我不是在寻找Adobe Air ;-)
除了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),并编写了一个薄层,向Javascript公开了一些Python功能.XULRunner附带的Mozilla组件为您提供了免费的大量功能,但如果您发现自己需要更多功能或功能齐全的编程库,Python就能解决问题.还有绑定到Java.或者,如果要使用C或C++库,可以从头开始构建XULRunner.
更新:自从我在2009年最初编写以上内容后,有些事情发生了变化.首先,Prism项目从Mozilla实验室中删除,随后在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一样(并将其作为独立的lib发布:https://github.com/brightray/libchromiumcontent).与node-webkit的一个主要区别在于,Atom不是将节点的事件循环与Chromium的事件循环合并,而是在不同的进程中启动它们,并使用同步和异步进程间消息的混合来在它们之间进行通信.
如果您对将Chromium嵌入C++或.Net应用程序感兴趣,还有Awesomium.