8

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

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

有没有合适的开源WebKit框架来构建桌面应用程序?桌面集成功能,例如Growl-support和其他功能都很受欢迎。

当做,

斯特凡


更新:我没有搜索Adobe Air;-)

3个答案

重置为默认值
11

除了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公司.

1
  • 哇,给XULRunner打电话很好。值得指出的是,自从Firefox 3以来,XULRunner附带Firefox! 只需制作一个使用Firefox可执行文件启动XUL应用程序的脚本:路径/to/firefox-应用程序路径/to/application.ini.
    – 触针
    评论 2011年9月15日18:26

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

0
1

如果你不是绝对致力于webkit,我想起来有一个项目允许你用Firefox引擎做类似的事情。基本上是一个围绕壁虎渲染器的极简窗口,外加Gears和应用程序的桌面快捷方式。但目前找不到链接。

1
  • 你在写关于prism.mozilla.com网站? 几个月前我测试了它,但我觉得它太像一个浏览器了。嗯,也许我应该建立一些自定义的东西。
    – 斯特凡
    评论 2009年8月10日0:27

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览已标记的其他问题问你自己的问题.