代码之家  ›  专栏  ›  技术社区  ›  conmulligan

在应用程序中嵌入的最佳HTML呈现引擎是什么?[闭门]

  •  18
  • conmulligan  · 技术社区  · 17 年前

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

    1. 它应该相对较快,占地面积较小。理想情况下,我们可以不费吹灰之力就把不需要的东西删掉。

    2. 我们使用C++,并且如果可能的话,它希望与一个设计良好的面向对象的体系结构一起工作。

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

    在做出决定之前,我需要考虑哪些因素?以前有人和WebKit或Gecko合作过吗?如果有的话,有没有我觉得有用的文章或教程?

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

    6 回复  |  直到 17 年前
        1
  •  8
  •   swilliams    17 年前

    一点历史可能有助于你做出决定。当苹果公司考虑在Safari中使用哪种引擎时,他们研究了Gecko,但决定使用KHTML,fork,并将其命名为WebKit。他们这样做的原因是Gecko有大量遗留下来的网景垃圾,而且要复杂得多。

    KHTML/WebKit较新,因此具有较少的遗产。它也更干净、更快,并且记录得更好。

    here 更多细节。

        2
  •  5
  •   Ariya Hidayat    17 年前

    我有偏见,但如果您不介意使用(LGPL ed)Qt,那么使用 QtWebKit ? 它很容易嵌入,当然是跨平台的,有一个很好的web浏览器演示,还有其他功能 related examples

        3
  •  4
  •   Milan BabuÅ¡kov    17 年前

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

    我不建议你沿着壁虎路走。集成它是可能的,但它比KHTML/Webkit要困难得多——这仅仅是因为Gecko的构建并没有考虑嵌入。

        4
  •  3
  •   theraccoonbear    17 年前

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

        5
  •  2
  •   Emmanuel Rodriguez    17 年前

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

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

        6
  •  0
  •   Paul Nathan    17 年前