11

你会选择哪一个,为什么
我想听听有在 C++ 应用程序中嵌入 Web 浏览器引擎经验的人的意见。
我应该强调我需要 Web 浏览器引擎的所有功能,除了渲染,即 HTTP 客户端、cookie 处理、DOM 样式 HTTP 解析器、JavaScript 引擎。如何剥离WebKit 或 Gecko 的渲染代码以避免编码和运行时开销?

这是对 C++ 项目的嵌入式浏览器的跟进

4

3 回答 3

6

至少存在一个项目具有类似的要求并且嵌入了 Gecko。那是Aptana 的 Jaxer。据我所知,他们在这方面取得了很好的成功。这并不能完全回答您的问题,但它确实证明了这对于 Gecko 肯定是可行的,并且有可用的 GPL 代码,您可以查看如何执行此操作(Jaxer 是一个开源项目)。

过去也有人就此提出过类似的问题。我不同意所有这些答案,因为那里存在一些错误信息,例如 Firefox 是 Gecko 中发生的事情的独裁者(它肯定会影响,但不是决定因素)。

完全披露:我在 Mozilla 代码库工作。

于 2009-05-09T16:05:43.957 回答
3

我有偏见,但我会说 WebKit。尤其是通过使用 QtWebKit,应该很容易拥有一个非可视化的 Web 引擎(除了绘画,所有的花里胡哨)。如果一个人真的关心排除所有与绘画相关的代码,代码库是足够模块化的(尤其是平台抽象层),这可以在合理的时间框架内完成。

于 2009-05-26T21:40:52.203 回答
0

请注意,QtWebkit(和我认为一般的 webkit)将要求您拥有一个活动的 x 服务器 - 即使您没有显示任何 GUI(它在 Qt 的核心中是必需的,因为 QWebPage 使用 QWidget)。这可能是 Qt 中的一个设计缺陷——我还没有进一步调查他们为什么会这样做。

于 2010-02-24T10:44:11.913 回答