18

目前,我们的应用程序使用 Trident Win32 组件,但出于几个原因,我们想要摆脱它,其中最主要的原因是我们希望跨平台。

我们正在研究WebKitGecko,但我很想在做出决定之前得到一些反馈。以下是一些最重要的要求:

  1. 它应该相对较快,占用空间小。理想情况下,我们可以毫不费力地修剪掉不需要的任何东西。

  2. 体面的文档很重要。我预计不需要对它做任何不寻常的事情,但你永远不知道。

  3. 我们正在使用 C++,如果可能的话,我们希望使用设计良好的面向对象架构。

  4. 跨平台是必须的,从长远来看,良好的性能会有所帮助(我们最终可能会移植到移动平台)。

在做出决定之前,我需要考虑哪些因素?以前有没有人使用过 WebKit 或 Gecko?如果是这样,是否有任何我可能会觉得有用的文章或教程?

更新:

谢谢你们的回应。我们最终选择了包含 WebKit 的 Qt 4.5。到目前为止,我们对它非常满意,事实上我认为 Qt 可能是我用过的最好的 UI 框架;使用本机 Win32 API 进行编码之间的差异是惊人的。它也很容易学习,我们唯一遇到的主要问题是习惯了信号/插槽范例。

4

6 回答 6

8

一点历史可能会帮助您做出决定。当 Apple 考虑在制作 Safari 时使用哪种引擎时,他们查看了 Gecko,但决定使用 KHTML,将其分叉并命名为 WebKit。他们这样做的原因是 Gecko 仍然有大量遗留在 Netscape 的遗留问题,而且要复杂得多。

KHTML/WebKit 较新,因此遗留较少。它也更干净、更快、记录得更好。

Firefox 3 的目标之一是清理代码库并简化它。据我所知,他们确实这样做了,但我不知道它与当前的 WebKit 迭代相比如何。谷歌在制作 Chrome 时显然还不够,而且他们在 Firefox 中占有重要地位。

有关更多详细信息,请参见此处

于 2008-10-08T19:16:34.823 回答
5

I am biased, but if you do not mind using (LGPL-ed) Qt, what about using QtWebKit? It is fairly easy to embed, cross-platform of course, has a nice web browser demonstration, and also other related examples.

于 2009-03-17T23:02:23.527 回答
4

这取决于您的需求。如果您只想显示普通的 HTML,即使是 Webkit 也可能是矫枉过正。在我的一些应用程序中,我改用 wxHTML。它是 wxWidgets 库中的一个组件(但不确定是否可以在没有 wx 的情况下使用它)。它是轻量级的,只支持基本的 HTML 内容(一些 CSS 支持可能会在下一个版本中提供),并且有一个非常好的 wxHtmlEasyPrinting 控件,它提供了很好的打印预览并且打印效果也很好。至于跨平台,wxWidgets 可以在 Windows、Linux、Mac 和其他一些系统上运行,所以一定能满足您的要求。

我不建议沿着壁虎路走。集成它是可能的,但它比 KHTML/Webkit 更难实现 - 仅仅是因为 Gecko 在构建时并未考虑嵌入。

于 2008-10-08T19:24:49.910 回答
3

我想我会推荐 Safari/Chrome 的 WebKit 引擎,它源自 KHTML,Konqueror 渲染引擎。

于 2008-10-08T19:08:52.483 回答
2

尝试选择 Webkit,因为它被许多不同的浏览器(Konqueror、Safari 和 Google chrome)使用。这使得 Webkit 更通用,更能适应其他需求。

Gecko 的开发与 Firefox 密切相关。对 Gecko 进行了很多修改,因为 Firefox 规定了它们。例如,Firefox 3 决定出于安全目的阻止所有自签名证书。该实现已在 Gecko 的引擎中完成,这意味着任何决定嵌入 Gecko 的应用程序都会添加此安全约束。

如果您可以继续使用 Webkit,因为它主要是 HTML 页面的渲染引擎。这是为了在不同的网络浏览器中使用而开发的。而 Gecko 主要是单个浏览器的渲染引擎,它恰好提供了嵌入的 API。

于 2009-02-11T17:32:45.997 回答
0

我的理解是 Webkit 比 Gecko 非常好而且更小。不过,壁虎最近应该进行了改造,这使得它具有相当的可比性。

于 2008-10-08T19:09:36.647 回答