是否可以将浏览器引擎集成到自定义浏览器界面中?
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
还有其他几个:
- QtWebKit: http://doc.qt.io/archives/qt-5.5/qtwebkit-index.html
- CEF:https://en.wikipedia.org/wiki/Chromium_Embedded_Framework
您不一定非要在应用程序和浏览器引擎之间使用额外的层,但如果您是初学者,我强烈建议您这样做。
最近我在读一篇关于“浏览器内部结构”的文章,突然间我想到了这个想法。
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
还有其他几个:
- QtWebKit: http://doc.qt.io/archives/qt-5.5/qtwebkit-index.html
- CEF:https://en.wikipedia.org/wiki/Chromium_Embedded_Framework
您不一定非要在应用程序和浏览器引擎之间使用额外的层,但如果您是初学者,我强烈建议您这样做。