是否可以将浏览器引擎集成到自定义浏览器界面中?

Is it possible to integrate a Browser engine to a custom Browser interface?

最近我在读一篇关于“浏览器内部结构”的文章,突然间我想到了这个想法。

What if I create my own Browser?

所以,我有两个问题。

问题一:

是否可以将“Servo”或“WebKit”之类的开源 Web 引擎集成到我的自定义浏览器中UI 使用 QtCreator 创建的界面或 Visual Studio?

问题二:

在使用C++(QtCreator)创建的UI和Servo或WebKit之间是否需要插入任何其他组件?

注: 我是这个领域的初学者,出于好奇学习内部知识而提出这些问题。如果问题不标准,请原谅。

谢谢:)

答案一:

是的,这是可能的。浏览器引擎有 public APIs 来提供嵌入它们的方法。例如,这个小项目的目标是展示如何构建您自己的 UI 界面(使用 Aura)并将 Chromium(浏览器引擎)连接到其中。

http://szeged.github.io/sprocket/

答案2:

如果您更喜欢 Qt 技术,那么 QtWebEngine 将是解决方案。这个模块的目的正是你所描述的:将 Chromium 引擎嵌入到 Qt 应用程序中,隐藏它最痛苦的部分,并提供方便的 API 来定制你的浏览器应用程序。

http://doc.qt.io/qt-5/qtwebengine-overview.html

还有其他几个:

您不一定非要在应用程序和浏览器引擎之间使用额外的层,但如果您是初学者,我强烈建议您这样做。