firemail

标题: Chromium和cef的区别 [打印本页]

作者: Qter    时间: 2023-11-4 10:52
标题: Chromium和cef的区别
https://zhuanlan.zhihu.com/p/373025534

为何市场上的多数浏览器基于chromium开发而不是cef。
1 Chromium和cef的区别和联系2 浏览器能否基于cef的开发2.1 如果能有哪些优势,有哪些问题
如果cef能满足日常的网页浏览,方便用户使用,基于此假设进行如下论证。
1、可以更加快速的上手浏览器开发,原因:cef接口隔离比较友好,提供少量API即可实现满足渲染一个页面
2、快速实现内核升级,原因:隔离比较好,cef本身会把底层内核隔离出来一套接口,把上层应用给阉割掉。
3 问题难点
如果要实现一个包含常用功能的浏览器,需要先思考如何解决如下问题。
因为cef会阉割掉大多数应用层功能如:UI、Chrome、Content等,导致当前浏览器常用功能在cef中需要自己实现。
3.1 如下技术点cef当前不支持,需要思考如何实现
1、如何实现UI框架,支持各类UI展示、右键菜单、横幅、气泡,此UI框架涉及最广,而且要求比较对性能和扩展性、开发友好等都有较高要求。
2、如何支持地址栏,实现地址栏各个功能,如联想提示、历史记录联想、搜索文字联想、收藏联想、地址栏安全标识等等
3、如何支持收藏,收藏历史、收藏搜索、收藏同步、收藏本地保存和收藏界面展示
4、如何支持开发这模式,比如:F12等各类HTML5的调试,此功能在cef可以通过开接口实现F12,cef本身支持一部分开发这模式,默认禁掉,需要重新捕获消息
5、如何支持各类内置页,页面的JS扩展接口、主页设置、各类选项设置页面,这个页面比较多几十个,是chrome浏览器功能入口
6、如何支持插件功能,插件拖进、卸载和运行等
7、如何标签的管理,标签拖拽如:标签拖出新开一个浏览器,拖进可以合并2个浏览器窗口等
8、如何实现浏览器的同步机制
9、如何实现浏览器翻译功能
10、如何实现下载模块、多窗口模块、恢复列表
11、如何实现鼠标手势、Favicon模块
12、UA功能、新标签页






欢迎光临 firemail (http://www.firemail.wang:8088/) Powered by Discuz! X3