(HTML + JS)桌面客户端的框架

时间:2009-08-09 22:33:53

标签: javascript html webkit desktop-application

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

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

是否有适合构建桌面应用程序的开源WebKit框架?桌面集成功能,例如Growl支持和内容都很受欢迎。

此致

的Stefan


更新:我不是在寻找Adobe Air; - )

3 个答案:

答案 0 :(得分: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),并编写了一个薄层,向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的一个主要区别在于,不是将节点的事件循环与Chromium的事件循环合并,而是Atom在不同的进程中启动它们,并使用同步和异步进程间消息的混合来在它们之间进行通信。

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

答案 1 :(得分:3)

Appcelerator平台为open source,因此您不依赖于公司 - 如果您愿意,您可以随时破解自己的代码。如果你想要更多控制权,你可以随时hook directly into WebKit。相当于AIR / Appcelerator Joel引用的Gecko可能是Mozilla Prism

答案 2 :(得分:1)

如果您不是绝对致力于webkit,我会回想一下一个允许您使用Firefox引擎执行类似操作的项目。基本上是壁虎渲染器周围的极简主义窗口以及适用于您的应用的Gears和桌面快捷方式。但是,目前无法找到链接。