CEF 是什么?为什么我建议你要学 CEF?

CEF 是什么?为什么我建议你要学 CEF?

最近我们上线了一本《CEF 桌面软件开发实战》的小册,新鲜出炉中,这过程中有小伙伴对 CEF 接触不多但还挺好奇的,所以借此契机今天我们就来聊聊 CEF 及我对该领域的一些看法吧。

关于桌面端软件


有很长一段时间,互联网大厂都在争夺用户的入口,都希望能在用户的电脑上部署一个长期运行的软件,这样就能在任何时候使自己的服务直接触达用户(360 和 QQ 之间的战争就是在那个时候发起的)。

这是因为通过浏览器为用户提供服务太被动了,用户主动来找你,你才可以为他提供服务;用户不找你,你就没有机会,也没有能力为用户提供服务。这是浏览器的本质,任谁也改变不了。只有绕开浏览器才行,而绕开浏览器的办法只有一个,就是自己提供本地应用

现在移动端已经基本上达到了这个效果,用户打开手机,使用的基本上就是那么几个固定的 App,一般不会在移动端浏览器上花费太多时间。

PC 端的几个重要领域也已经被本地应用占领了,比如,邮件客户端、即时通信、音乐播放器、游戏、文字排版工具、团队协作工具等,然而 PC 端的本地应用显然没有移动端的本地应用丰富多彩。

这并不是因为 PC 端没落了,相较而言,PC 端在便携性方面确实不如移动端,但不得不说 PC 端拥有它自己独特的优势,比如,更大的可视区域更快捷多样的输入输出接口更强劲的性能支持硬件等,现在 PC 端正在向着更专业、更精细的方向发展。

这是一个螺旋上升的过程,移动端的社交和娱乐属性被发挥到淋漓尽致之后,用户和厂商的注意力就会转移到 PC 端来。

所以说,掌握 PC 端开发的技能是非常有必要、非常有前景的。

关于前端从业者

自 JavaScript 诞生至今已经有 20 多年了,前端开发技术在软件行业大放异彩,它以入门门槛低、容易上手、容易进阶等优点吸引了一大批从业者,再加上这么长时间的发展,一个成熟、稳定、繁荣的生态社区已经形成了。这使得更多软件从业者涌入这个领域,造成了今天内卷问题严重的现象。

很多大厂招人都有非常苛刻的条件,比如,非 985、211 名校毕业的不要超过 XX 年龄的不要工作经验未满 XX 年的不要,等等。实际上这怪不得大厂 HR,确实是竞争某个岗位的人实在太多了。

我对这个现象的思考是:前端工作成果太贴近用户了,用户的需求是五花八门的,只要有需求的地方就有商业,就有满足这些需求的产品,就需要前端从业者

3~5 年前这类需求持续得不到满足,导致这个领域的薪资也水涨船高,开发者看到这个现象后纷纷来“献人头”;而现在需求被填平了,还富余很多人力,内卷的现象也就出现了。

这就像农民养猪,去年年底猪肉价格很高,于是今年所有农民都开始养猪,导致今年年底猪肉价格大跌。

更恐怖的是,人力资源可不像猪肉,消耗掉就没有了,人力资源是始终在那里的,这会导致什么现象呢?

我觉得会出现两个现象:分工和溢出。

  • 有些人去搞 React、Vue,有些人就去搞 Rollup、Webpack,这就是分工
  • 有些人用前端技术搞后端(Node.js、Deno),有些人用前端技术搞桌面端(Electron、CEF),还有些人用前端技术搞人工智能(TensorFlow.js),这就是溢出
从另一个角度看,未来前端从业者还会向农林牧副渔等行业溢出。

我认为朝着分工这个方向,路会越走越窄,最终变成流水线上的工人,守着一小块东西反反复复做,虽然在某个领域堪称专家,但实际意义不大,有同类技术出现时很容易被替代。但朝着溢出这个方向做,只要选对了溢出方向,路会越走越宽,而且竞争压力小,持续开疆拓土,输出价值

因此,当时我写这门课程就是希望能把你从内卷的漩涡中拉出来,让你使用既有的前端技能开拓新的世界。


很多大厂都选择 CEF 作为桌面端开发框架

CEF 是 Chromium Embedded Framework 的简写,顾名思义,这是一个把 Chromium 嵌入其他应用的框架。这个开源项目是 Marshall Greenblatt 在 2008 年创立的,由 C/C++ 编写而成,它通过提供稳定的 API 来避免开发者被 Blink、V8、Chromium 等复杂的代码逻辑所困扰。

  • CEF 非常注重开发者的使用体验,很多功能都有默认实现方式,遵从约定优于配置的原则,开发者可以很轻松地驾驭 CEF 框架。
  • CEF 是一个商业授权非常友好的开源项目,它采用的是 BSD 授权协议,这也是那么多大厂都选择 CEF 作为桌面端开发框架的原因。


据 CEF 官网数据,CEF 框架装机量超过 1 亿,但依我看这个数据过于保守了,毕竟很多大家耳熟能详的桌面端应用都在使用 CEF 框架:QQ 桌面端、微信桌面端、网易云音乐桌面端、 MATLAB 、 FoxMail 、OBS Studio 等。也就是说,很多人的电脑上不止有一个 CEF 框架支持的项目。


介绍到这里你可能也就 get 到我们题目中那些疑问的答案了。确实,学习和努力是一方面,看得长远是另一方面,特别是在这个内卷的社会,我们都想出类拔萃、都想走捷径,我的建议是有时候也要停下来看看周遭、思考下,也多拓展自己的技术宽度,这对你会是事半功倍的

至于小册具体的其他设置信息我就不介绍太多了,你可以看你自己心情和需要,跳转到「课程详情页」「试读」去自主查看详情信息。比较 nice 的是,本小册对读者的技术要求不高,具备一点点 C++ 基础知识、基本的前端开发知识即可加入。很欢迎你的加入,小册是力争以一个平缓的学习曲线一步一个台阶地带领你学会 CEF 框架的基础知识实战技巧

跳转可以直接戳下面 :



编辑于 2022-05-26 19:17