• C++混合编程:QCefView、QWebKit,QWebengine、miniblink内嵌浏览器对比


       随着前端技术的发展,PC端程序越来越倾向于做第三方嵌入浏览器的应用程序。为什么手机软件安装包越来越大,大概率是由于偷偷嵌入了一个浏览器内核,例如:腾讯视频、虾米音乐等主流PC端程序都是内嵌浏览器,目的是对于频繁更新的内容部分采用网页js加载刷新的方式,这一点对于C++界面UI来说是比较难以做的好的。
      现对主流易集成嵌入的开源浏览器内核进行分析,大致分析如下:

    一、类别对比

    1、libcef

    优点:功能齐全,跨平台,比以下几种稳定;

    缺点:安装包大(80M+),内容太多;

    实际使用:对开发者技术要求高;QCefView实际上是将libcef封装为了一个Qt的UI组件以供调用。

    2、QWebKit

    优点:接口友好,易二次开发,跨平台;QWebKit在windows下有mingw、vc++几个版本的预编译包;

    缺点:安装包大(40M+),需要在Qt框架下;QWebKit很多操作都是同步进行的,包括JS的调用、获得返回值等等。Qt5.6之后废弃QWebKit。

    实际使用:简单易用但性能不好,目前被QWebengine取代。

    3、QWebengine

    版本支持:Qt5.4开始提供QWebEngine,Qt5.5版本QWebEngine和QWebKit同时存在,Qt5.6之后废弃QWebKit。

    优点:接口友好,易二次开发,加载速度较QWebKit更快,跨平台(???)

    缺点:安装包大(60M+),需要在Qt框架下;使用QWebEngine,暂时只能使用Visual Studio作为内置编译器,且官方提供的是x64版本。因此跨平台待商榷。

    实际使用:简单易用,但Debug易崩,调试麻烦;

    4、miniblink

    官方宣传:屌炸天的内核来袭,史上最小chromium内核miniblink

    优点:安装包体积小(早期版本不足20M);

    缺点:部分功能需要付费,字体渲染模糊和不支持多语言是很大缺陷;

    实际使用:简单易用,用的不好易崩;

    二、结论

    结论:求稳建议用QCefView

  • 相关阅读:
    docker发布dubbo服务 外部程序访问不到问题处理
    Java计算机网络篇-HTTP
    云打印api搭建,云打印api怎么对接?
    python基础语法 - 函数
    J2EE项目部署与发布(Windows版本)
    【深度学习手记】使用DNN训练与CNN训练对数据集的要求不一样,为什么CNN网络训练输入的数据需要4维的
    企业薪资系统
    知识图谱实体对齐2:基于GNN嵌入的方法
    day01-GUI坦克大战01
    基础 | 并发编程 - [Lock 使用 & 对比 synchronized]
  • 原文地址:https://blog.csdn.net/m0_37251750/article/details/126520728