目前,我们的应用程序使用的是Trident Win32组件,但我们希望摆脱这种情况,原因有几个,其中主要是我们希望跨平台。

我们正在关注 WebKit Gecko ,但我想在做出决定之前得到一些反馈。以下是一些最重要的要求:

  1. 它应该相对较快,占地面积小。理想情况下,我们可以在不费力的情况下削减任何我们不需要的东西。

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

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

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

  5. 在做出决定之前,我是否需要考虑哪些因素?之前有没有人使用过WebKit或Gecko?如果是的话,是否有任何我认为有用的文章或教程?

    更新

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

有帮助吗?

解决方案

一点历史可能有助于您的决定。当Apple考虑使用哪种引擎制作Safari时,他们看了Gecko,但决定使用KHTML,将它分叉并称之为WebKit。他们这样做的原因是,Gecko在Netscape上仍有大量的遗留物,而且复杂得多。

KHTML / WebKit更新,因此遗产较少。它也更清洁,更快速,更好地记录。

Firefox 3的目标之一是清理代码库并简化它。从我听说他们做到了这一点,但我不知道它与WebKit的当前迭代相比如何。谷歌在制作Chrome时显然还不够,而且他们在Firefox中占有很大的份额。

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

其他提示

我有偏见,但如果你不介意使用(LGPL-ed)Qt,那么使用 QtWebKit的?它非常容易嵌入,当然,跨平台有一个很好的网络浏览器演示,还有其他相关示例

这取决于您的需求。如果你只是想显示普通的HTML,那么即使是Webkit也可能有点过分。在我的一些应用程序中,我使用wxHTML代替。它是来自wxWidgets库的一个组件(不确定你是否可以在没有wx的情况下使用它)。它是轻量级的,只支持基本的HTML东西(下一版本可能会提供一些CSS支持),并且有一个非常好的wxHtmlEasyPrinting控件,可以提供良好的打印预览并且打印得非常好。至于跨平台,wxWidgets适用于Windows,Linux,Mac和其他一些系统,因此可以满足您的要求。

我不建议沿着Gecko路走下去。它可以集成它,但它比KHTML / Webkit更难做 - 只是因为Gecko没有考虑嵌入而构建。

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

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

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

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

我的理解是Webkit非常好&小于壁虎。 Gecko最近应该进行改造,这使它具有相当的可比性。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top