随着前端技术的发展,PC端程序越来越倾向于做第三方嵌入浏览器的应用程序。为什么手机软件安装包越来越大,大概率是由于偷偷嵌入了一个浏览器内核,例如:腾讯视频、虾米音乐等主流PC端程序都是内嵌浏览器,目的是对于频繁更新的内容部分采用网页js加载刷新的方式,这一点对于C++界面UI来说是比较难以做的好的。
现对主流易集成嵌入的开源浏览器内核进行分析,大致分析如下:
优点:功能齐全,跨平台,比以下几种稳定;
缺点:安装包大(80M+),内容太多;
实际使用:对开发者技术要求高;QCefView实际上是将libcef封装为了一个Qt的UI组件以供调用。
优点:接口友好,易二次开发,跨平台;QWebKit在windows下有mingw、vc++几个版本的预编译包;
缺点:安装包大(40M+),需要在Qt框架下;QWebKit很多操作都是同步进行的,包括JS的调用、获得返回值等等。Qt5.6之后废弃QWebKit。
实际使用:简单易用但性能不好,目前被QWebengine取代。
版本支持:Qt5.4开始提供QWebEngine,Qt5.5版本QWebEngine和QWebKit同时存在,Qt5.6之后废弃QWebKit。
优点:接口友好,易二次开发,加载速度较QWebKit更快,跨平台(???);
缺点:安装包大(60M+),需要在Qt框架下;使用QWebEngine,暂时只能使用Visual Studio作为内置编译器,且官方提供的是x64版本。因此跨平台待商榷。
实际使用:简单易用,但Debug易崩,调试麻烦;
官方宣传:屌炸天的内核来袭,史上最小chromium内核miniblink
优点:安装包体积小(早期版本不足20M);
缺点:部分功能需要付费,字体渲染模糊和不支持多语言是很大缺陷;
实际使用:简单易用,用的不好易崩;
结论:求稳建议用QCefView。