CEF和Electron都是跨平台客户端方案,CEF和Electron孰优孰劣?来看一下二者的对比。
相同点:
CEF和Electron都是基于chromium浏览器框架发展而来,核心技术和底层实现基本一致,形成了不同的跨平台技术解决方案,是因为各自进行了不同程度上的开发和扩展。
CEF在2011年发布了CEF1的第一个正式版本,Electron在2016年发布了1.0版本,并在同年完成mac商店和windows商店的线上发布。
两者安装包都非常大,就算单独开发的页面很小,纯原生的CEF和Electron应用,安装包都在50MB以上,因为两者都包含了chromium,ffmpeg,GLES等等组件。
不同点
CEF
版本更新:平均1~2月更新一次
原生接口:C/C++
文档:官方文档资料较少,网络资源不多
产品:有道云笔记、微信、QQ、钉钉
支持平台:Linux、Mac、Windows(XP)
难易程度:有一定难度
屏幕分享:没有
声卡采集:没有
自动升级:没有
Electron
版本更新:平均每周更新一次,版本更新比较频繁
原生接口:JS/Node.js
文档:官方文档资料健全,网络资源比较丰富
产品:VSCode、GitHub、Facebook
支持平台:Linux、Mac、Windows
难易程度:上手比较容易
屏幕分享:支持
声卡采集:支持(windows)
自动升级:支持
总结
综上,个人比较喜欢Electron,作为前端,JS上手快,开发成本和开发周期相对来说更低更短,而且社区活跃。
如果项目需要提供C++ SDK的话,建议考虑CEF,原生接口是C++,开发起来工作量相对较小。当然,也看自己的技术储备情况,选择适合你的技术方案。