WebKit或Gecko - 哪个更适合嵌入C ++应用程序?

时间:2009-05-09 15:23:44

标签: c++ webkit embedding gecko

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

这是What embedded browser for C++ project?

的后续行动

3 个答案:

答案 0 :(得分:6)

至少存在一个具有类似要求的项目,它嵌入了Gecko。那是Aptana's Jaxer。据我所知,他们在这方面取得了很大的成功。这并没有完全回答你的问题,但它确实证明了这对Gecko来说当然是可行的,并且有可用的GPL代码,你可以看看如何做到这一点(Jaxer是一个开源项目)。 / p>

此处也有similar question asked in the past。我不同意所有这些答案,因为有一些错误信息,例如Firefox是Gecko中发生的事件的独裁者(它肯定会影响,但不是决定因素)。

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

答案 1 :(得分:3)

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

答案 2 :(得分:0)

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