除了Appcelerator之外,我还了解到两个桌面gui框架,它们有一个封装webkit的浏览器组件:GTK+和Qt。您可以让浏览器组件填充应用程序的窗口,并用HTML+CSS编写应用程序的大部分(或全部)。如果您喜欢Python语言或它是非常重要的标准库,可以使用Python绑定pyQt或pyGTK。
如果你愿意使用Gecko引擎,XULRunner是Prism的一个更“强大”的替代品(https://developer.mozilla.org/En/XULRunner网站). Prism是一组轻量级的web应用程序桌面绑定,而XULRunner允许您构建一个完整的应用程序,如Firefox本身或Thunderbird等。虽然许多XULRunnel应用程序都是用XUL编写的,在单个XUL WebBrowser组件中使用HTML/CSS编写整个应用程序很容易,而且您的javascript仍然具有本机桌面应用程序的所有功能。
我用XULRunner编写了几个桌面应用程序。几乎所有应用程序的代码都是HTML/CSS/Javascript,但我已经包括了Python框架(通过pyXPCOM和pyXPCOMext),并编写了一个向Javascript公开一些Pythons功能的薄层。XULRunner附带的Mozilla组件免费为您提供了相当多的功能,但如果您发现自己需要更多功能或功能齐全的编程库,Python可以做到这一点。还有与Java的绑定。或者,如果您想使用C或C++库,可以从头开始构建XULRunner。
更新:自2009年我最初写下上述内容以来,有些事情发生了变化。首先,Prism项目被Mozilla实验室撤销,随后于2011年末完全停止(http://www.salsitasoft.com/2011/09/08/discontincing-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的事件循环合并,而是在单独的进程中启动它们,并混合使用同步和异步进程间消息在它们之间进行通信。
如果您有兴趣在C++或中嵌入Chromium。网络应用程序,还有Awesomium公司.